2010-03-06 Rodrigo Kumpera <rkumpera@novell.com>
[mono-project.git] / mcs / class / corlib / System / ChangeLog
blob2e9b9aa06101b2f6eeec7c66d30445fa3ff71f16
1 2010-03-06 Rodrigo Kumpera  <rkumpera@novell.com>
3         * UIntPtr.cs: Remove some v4 custom attributes that were
4         on Beta2 but aren't there on RC.
6 2010-03-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
8         * TimeSpan.cs: Implement correctly the TryParse method, instead of
9         using a try/catch block.
11 2010-03-04 Rodrigo Kumpera  <rkumpera@novell.com>
13         * Type.cs : Fix for bug #574696: don't recurse into base types in GetMember when
14         getting properties.
15         Patch by Eberhard Beilharz <eb1@sil.org>
17 2010-03-03  Miguel de Icaza  <miguel@novell.com>
19         * Decimal.cs: Disable the fast double2decimal code, and go back to
20         string parsing as there is a rounding/precision bug.
22                 //
23                 // We cant use the double2decimal method
24                 // because it incorrectly turns the floating point
25                 // value 1.23456789E-25F which should be:
26                 //    0.0000000000000000000000001235
27                 // into the incorrect:
28                 //   0.0000000000000000000000001234
29                 //
30                 //    The code currently parses the double value 0.6 as
31                 //    0.600000000000000
32                 //
33                 // And we have a patch for that called (trim
35 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
37         * Type.cs (Equals): Better version that does less
38         trips to runtime land.
40 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
42         * MonoType.cs: Add v4 security properties.
44 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
46         * Type.cs: Add v4 security properties.
48 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
50         * Type.cs: Fix identation.
52 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
54         * Activator.cs: : Implement new v4 overloads and [Obsolete].
56 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
58         * AppDomain.cs: Add bunch of trivial overloads.
60 2010-03-01 Rodrigo Kumpera  <rkumpera@novell.com>
62         * TypeSpec.cs: New file. Managed code implementation of type name
63         parsing.
65         * Type.cs: Implement new v4 overloads of GetType.
67 2010-03-01  Zoltan Varga  <vargaz@gmail.com>
69         * Array.cs (CreateArray): Disallow creation of arrays of unfinished types.
71 2010-03-01  Miguel de Icaza  <miguel@novell.com>
73         * DateTime.cs (DoParse): patch from Tom Philpot, while using
74         TryParse if s is null, we should return false, not crash.
76 2010-02-28 Rodrigo Kumpera  <rkumpera@novell.com>
78         * Type.cs: Forgot a pair of #if NET_4_0.
80 2010-02-28  Miguel de Icaza  <miguel@novell.com>
82         * Decimal.cs: If the NumberFormatInfo is broken and contains the
83         same character for grouping than is used for decimals, the decimal
84         separator gets a priority.  This issue was exposed by the
85         Silverlight Test suite.
87         Allow null trailing characters when parsing, this is valid in
88         .NET: "5\0" and "5\0\0\0\0", but "5\05" is not.
90         * Decimal.cs: Enabling the unmanaged double to decimal and float
91         to decimal conversions code again as I am unable to find any
92         regressions in corlib, System.Data, the Silverlight test suite or
93         Rotor's test suite.
95         I am enabling it hoping that we can find the original problem that
96         lead us to use the slow path.
98 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
100         * AggregateException.cs: Fix ctor vibility.
102         * Type.cs: IsEnum and IsSerializable are virtual
103         properties now.
105         * Tuple.cs: Fix Tuple'8 Create method.
107 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
109         * UIntPtr.cs: Add some v4 custom attributes.
111 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
113         * Float.cs: New v4 operators.
115 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
117         * IntPtr.cs: Add some v4 custom attributes.
119 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
121         * Double.cs: New v4 operators.
123 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
125         * Type.cs: Make cor-compare happy.
127 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
129         * Lazy.cs: Implement all lazy modes.
131 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
133         * ExecutionEngineException.cs: Type is obsolete.
135 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
137         * Type.cs: Implement new v4 IsEnumDefined ().
139 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
141         * Type.cs: Implement new v4 GetEnumValue ().
143 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
145         * Type.cs: Implement new v4 GetEnumValues ().
147         * MonoType.cs: Ditto.
149 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
151         * Type.cs: Use the right kind of annotations.
153 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
155         * Type.cs:  Implement new v4 GetEnumNames ().
157 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
159         * Type.cs:  Implement new v4 GetEnumUnderlyingType ().
161 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
163         * Type.cs: Implement new v4 GetTypeCodeImpl ().
165 2010-02-19 Rodrigo Kumpera  <rkumpera@novell.com>
167         * Type.cs: Implement new v4 behavior for Equals.
168         
169 Fri Feb 19 09:05:36 CET 2010 Paolo Molaro <lupus@ximian.com>
171         * Decimal.cs: fixed Remainder (bug #576341).
173 2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
175         * Environment.cs: implement SystemPageSize.
177 Fri Feb 12 18:38:01 CET 2010 Paolo Molaro <lupus@ximian.com>
179         * InsufficientExecutionStackException.cs: new exception type in 4.0.
181 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
183         * MonoType.cs: Implement GetCustomAttributesData.
185 2010-02-06  Chris Toshok  <toshok@ximian.com>
187         * AppDomain.cs (SetupInformationNoCopy): make this internal for
188         moonlight.
190 2010-02-02  Jérémie Laval  <jeremie.laval@gmail.com>
192         * AggregateException.cs:
193         * OperationCanceledException.cs: Port to .NET 4 beta 2 API
195 2010-01-31  Zoltan Varga  <vargaz@gmail.com>
197         * Enum.cs: Fix a warning.
199 2010-01-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
201         * Version.cs: Implement Parse and TryParse.
203 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
205         * AppDomain.cs: LoadSatellite: add a boolean parameter specifiying
206         whether we should throw on exceptions or not.
208 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
210         * TimeSpan.cs: TryParse: Handle null values to not throw ANEs.
212 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
214         * Array.cs: updates to the API from beta2.
215         * _AppDomain.cs: no GetLifeTimeService() in 4.0
217 2010-01-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
219         * Enum.cs: Implement TryParse and do the required refactoring of our
220         Parse method to support it.
222 2010-01-25  Atsushi Enomoto  <atsushi@ximian.com>
224         * Single.cs : parse MaxValue and PositiveInfinity as expected.
225           Patch by Tiaan Geldenhuys.
227 2010-01-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
229         * Activator.cs: When calling CreateInstance() and no default .ctor is
230         found for the type, don't pass the member argument to the
231         MissingMethodException, to have a better and simpler error message.
232         Fixes #396986.
234 2010-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
236         * Tuples.cs: explicitly implement IStructural*.
238 2010-01-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
240         * UInt64.cs: Implement a lightweight version of the Parse method for
241         the overload that does not take IFormatProvider/NumberStyle
242         parameters - this gets us a nice speed up, just like we do for the
243         other number types.
244         Fixes #338022.
246 2010-01-15 Rodrigo Kumpera  <rkumpera@novell.com>
248         * Array.cs: Implement IStructuralComparer.
250 2010-01-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
252         * Int32.cs: In Parse() cast the parsed value to long *before* changing
253         its sign - this way we preserve the original value, instead of
254         accidentally changing it. This was happening parsing _exactly_
255         MaxValue + 1.
256         Fixes #475815.
258 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
260         * DateTime.cs : In AddMilliseconds(), it seems fractional
261           milliseconds are first rounded and then added.
263 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
265         * DateTimeOffset.cs : preserve fractions (it is somehow dropped).
267 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
269         * Double.cs : no need to preserve old code.
271 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
273         * Double.cs : AllowLeading/TrailingWhite should also check those
274           surrounding string constants such as "NaN".
276 2010-01-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
278         * Int32.cs: Implement support for exponent in the Parse methods.
279         Fixes #542464.
281 2010-01-10  Zoltan Varga  <vargaz@gmail.com>
283         * GC.cs: Add stubs for new net 4.0 methods.
285 2010-01-07  Jb Evain  <jbevain@novell.com>
287         * MonoType.cs (.MemberType): return the proper member type
288         for generic parameters.
290 2010-01-07  Sebastien Pouliot  <sebastien@ximian.com>
292         * Convert.cs: Fix line endings in ToBase64String (bug #568778)
293         and also the default line length. Code changed to not require
294         a BinaryReader over a MemoryStream to reduce memory requirements.
296 2010-01-07  Zoltan Varga  <vargaz@gmail.com>
298         * TermInfoDriver.cs (GetCursorPosition): Avoid waiting 1 sec here.
300 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
302         * Array.cs: Fix ArrayReadOnlyList.CopyTo. Fixes #564095.
304 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
306         * DateTime.cs (TryParseExact): Handle exceptions. Fixes #567857.
308 2009-12-21  Marek Habersack  <mhabersack@novell.com>
310         * Int32.cs: treat terminating null as whitespace
312 2009-12-19  Zoltan Varga  <vargaz@gmail.com>
314         * String.cs: Fix the various IndexOf and LastIndexOf methods so they handle
315         "" and a non-zero startIndex correctly. Fixes #566106.
317 2009-12-17  Sebastien Pouliot  <sebastien@ximian.com>
319         * String.cs: Fix #565602 right-padding empty strings.
321 2009-12-15  Marek Safar  <marek.safar@gmail.com>
323         * Array.cs: Optimize sort operations on all primitive types.
325 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
327         Type.cs (IsCompilerContext): The default implementation now checks if the
328         type's assembly is under compiler context or not.
330 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
332         * Environment.cs: Bump corlib version.
334 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
336         * MonoType.cs: Make the GetConstructorImpl machinery available
337         to be used by others.
339         * Type.cs (MakeGenericType): Is any of the arguments is not a system
340         type create an instance of MonoGenericClass instead. 
342 2009-12-09  Jb Evain  <jbevain@novell.com>
344         * StringComparer.cs (GetHashCode): properly throw
345         an ANE instead of an NRE.
347 2009-12-09  Miguel de Icaza  <miguel@novell.com>
349         * Enum.cs: Add new .NET 4.0 API.
351 2009-12-08  Marek Habersack  <mhabersack@novell.com>
353         * Type.cs: added overloads for the == and != operators (4.0).
355 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
357         * Type.cs: Add virtual property IsCompilerContext to cleanup
358         compiler context resolution across SRE.
360 2009-12-05  Mark Probst  <mark.probst@gmail.com>
362         * String.cs: A new LOS_limit variable which gives the maximum
363         string length that's not put in the LOS.
365         * StringBuilder.cs: Copy the string also if it's in the LOS and
366         chopping it would bring its size below the LOS limit.
368         * Environment.cs: Bump corlib version.
370 2009-12-03  Stephane Delcroix  <stephane@delcroix.org>
372         * DateTimeOffset.cs: fix dates arithmetic to avoid throwing
373         while crossing dst boundaries.
375 2009-12-03  Jb Evain  <jbevain@novell.com>
377         * Attribute.cs: remove code duplication.
379 2009-12-02  Jb Evain  <jbevain@novell.com>
381         * Enum.cs (IConvertible.ToType): properly convert enum values
382         to strings instead of their numeric value.
384 2009-12-02  Jb Evain  <jbevain@novell.com>
386         * Environment.cs (mono_corlib_version): bump.
387         * Attribute.cs: when retrieving custom attributes defined
388         on parameters belonging to a virtual method, walk
389         the inheritance chain to check for parameters attributes
390         all the way down.
392 2009-12-01  Jb Evain  <jbevain@novell.com>
394         * Type.cs (MakeByRefType): throw a TypeLoadException when being
395         called on type which is already ByRef.
397 2009-11-26  Sebastien Pouliot  <sebastien@ximian.com>
399         * Random.cs: Fix case where the diff between min and max
400         is very large in Next(int,int). Fix bug #558593
402 2009-11-25  Zoltan Varga  <vargaz@gmail.com>
404         * Delegate.cs (GetHashCode): Fix this so it is constant.
406 2009-11-24  Jb Evain  <jbevain@novell.com>
408         * Array.cs: use ContainsGenericParameters instead of
409         IsGenericTypeDefinition as it catches more cases.
411 2009-11-24  Jb Evain  <jbevain@novell.com>
413         * Array.cs (IList.this[int]): prevent the use of the IList indexer 
414         when dealing with a multi dimensional array.
416 2009-11-24  Jb Evain  <jbevain@novell.com>
418         * Array.cs (Clear): throw an IndexOutOfRangeException instead
419         of an ArgumentOutRangeException for a negative length.
421 2009-11-24  Jb Evain  <jbevain@novell.com>
423         * Array.cs (CreateInstance): do not allow open generic types.
425 2009-11-24  Jb Evain <jbevain@novell.com>
427         * Array.cs (CreateInstance): do not allow void arrays.
429 2009-11-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
431         * Array.cs: When sorting and we are sorting value types implementing
432         IComparable<T>, use its corresponding Comparer<T>.Default helper. 
433         This way we avoid casting our values to IComparable<T>, and thus we 
434         avoid *all* the boxing for them. Using Comparer<T>.Default seems to be
435         slower for reference types, so we don't use it for those ones.
437 2009-11-22  Miguel de Icaza  <miguel@novell.com>
439         * Environment (IsUnix): expose this common property, so we avoid
440         duplicating code. 
442 2009-11-18  Marek Safar  <marek.safar@gmail.com>
444         * Type.cs: Use faster string comparers.
446 2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>
448         * DateTimeOffset.cs : fix parse failure on missing colon.
449           Fixed bug #547675, patch by Santa Marta (see bugzilla).
451 2009-11-13  Marek Safar  <marek.safar@gmail.com>
453         * Lazy.cs: Check recursive initializations.
455 2009-11-11 Rodrigo Kumpera  <rkumpera@novell.com>
457         * Type.cs: Fix Make(Array|ByRef|Pointer)Type to not crash
458         with user types. 
460         * Type.cs (MakeGenericType): Don't crash with user types.
462         * Type.cs (GetGenericParameterConstraints): Don't crash with user types.
464         * Type.cs (GenericParameterAttributes): Don't crash with user types.
466         * Type.cs (IsInstanceOfType): Don't crash with user types.
468         * Type.cs (IsAssignableFrom): Better handle User Types.
470         * Type.cs (GetInterfaceMap): Don't crash with user types.
472         * Type.cs (Equals): Fix behavior to be more MS compatible.
474 2009-11-11  Sebastien Pouliot  <sebastien@ximian.com>
476         * Console.cs: Reduce duplication between OpenStandard[Input|
477         Output|Error] and, for Moonlight, don't return a NullStream if
478         security is disabled (e.g. when smcs executes) r: alan
479         Note: include changes from r145773 (2-6) from toshok
481 2009-11-10  Miguel de Icaza  <miguel@novell.com>
483         * Lazy.cs: Updated API to 4.0 Beta 2
485 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
487         * Array.cs (Sort):
488         - Sort(..) without IComparer param call Sort(.., (IComparer)null) siblings
489         - Sort(keys, items,..) with items == null call Sort(keys,..) siblings
490         Add missing argument checks. Add SortImpl method to be used by
491         List<T>.Sort(Comparison <T>).
493         Part 3 of 3 fixing bug #351638.
495 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
497         * Array.cs (Sort): Add and call
498         - SortImpl methods which do the real work without argument checking
499         - MoveNullKeysToFront methods which do a null <-> non-null sorting and
500         ensure that all non-null object implement IComparable/IComparable<T>
502         Part 2 of 3 fixing bug #351638.
504 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
506         * Array.cs (Sort): optimize qsort by employing multiple, faster copies
507         of the inner-most loops:
508         - for case "comparer != null"
509         - for case "pivot is IComparable<T>"
510         - for case "pivot is IComparable"
511         Remove compare methods as the inner loops now do their work.
512         Use GetValueImpl instead of GetValue in swap.
514         Part 1 of 3 fixing bug #351638.
516 2009-11-03  Miguel de Icaza  <miguel@novell.com>
518         * TermInfoDriver.cs (CheckWindowDimensions) Avoid extra checks, as
519         the condition was always checked previously.
521         (WriteSpecialKey): Actually write the tab character.
522         
523 2009-11-02  Miguel de Icaza  <miguel@novell.com>
525         * More NET_2_0 define removal, assume that it is now always true. 
527 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
529         * MonoType.cs: Don't pass null value to icalls 
530         GetCorrespondingInflated[Constructor|Method]
532 2009-10-28  Lluis Sanchez Gual  <lluis@novell.com>
534         * MarshalByRefObject.cs: In InitializeLifetimeService, if a lease
535         exists for the object return it, instead of always creating
536         a new one. Fixes bug #544357.
538 2009-10-27  Sebastien Pouliot  <sebastien@ximian.com>
540         * String.cs: Remove unused (and unneeded) internal call defs.
541         Reduce duplication (and fix test) for Concat (object,object).
542         Avoid allocating zero-length strings in the cases where the
543         FX does not do so.
545 2009-10-22  Miguel de Icaza  <miguel@novell.com>
547         *  String.cs (IsNullOrWhiteSpace, Concat, Join): New 4.0 methods. 
549         * IntPtr.cs (Add, Subtract): New 4.0 methods.
551         * Tuple.cs: Updated signature.
553 2009-10-19  Marek Safar  <marek.safar@gmail.com>
555         * IObservable.cs, IObserver.cs: New files.
556         
557         * EventHandler.cs: Cleanup.
559 2009-10-16  Miguel de Icaza  <miguel@novell.com>
561         * Jumbo patch to drop support for pre-NET_2_0 code:
563         Remove ONLY_1_1 code
564         Remove NET_1_0 only code
565         Remove NET_2_0 defines assuming the value is true.
567         Improve one MonoTODO;   Implement one MonoTODO/Niex.
569         Ran a textual diff on the resulting assembly to validate that the
570         restul is the same on NET_2_0
572 2009-10-14  Jonathan Pryor  <jpryor@novell.com>
574         * AppDomain.cs: Re-add BaseDirectory in the MonoTouch profile.
576 2009-10-14  Sebastien Pouliot  <sebastien@ximian.com>
578         * Exception.cs: Use StackFrame.GetSecureFileName to display (or 
579         not) the file names (and paths). Don't serialize Source for
580         Moonlight.
581         * ValueType.cs: Change InternalEquals (icall) visibility to 
582         private since it is not used elsewhere outside the type.
584 2009-10-08  Sebastien Pouliot  <sebastien@ximian.com>
586         * AppDomain.cs: Remove NET_2_1 specific DefineDynamicAssembly(
587         AssemblyName,AssemblyBuilderAccess,bool) since it is not part
588         of SL. Provide a ToString implementation similar to Silverlight
589         for Moonlight (and without directly using an icall)
591 2009-10-07  Sebastien Pouliot  <sebastien@ximian.com>
593         * String.cs: Remove unsafe code duplication in ToCharArray.
594         Define out the unused InternalStrcpy icalls
595         * StringComparer.cs: Seal internal/private inner classes.
597 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
599         * Decimal.cs: Use Compare method instead of directly using the
600         decimalCompare internal call.
602 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com> 
604         * Enum.cs: Add an internal Value property as a single point to 
605         call the internal call get_value.
607 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
609         * String.cs: Remove normalization methods for Moonlight
611 2009-10-06  Jonathan Chambers  <joncham@gmail.com>
613         * String.cs (Contains): Use CompareOptions.Ordinal. Fixes bug
614         #535425.
616 2009-10-04  Mark Probst  <mark.probst@gmail.com>
618         * AppDomain.cs: Check for static AppDomainInitializer earlier to
619         throw the appropriate exception instead of failing at
620         serialization.
622 2009-10-04  Mark Probst  <mark.probst@gmail.com>
624         * AppDomainSetup.cs: Functionality for serializing a few members
625         to simplify cross-domain copying from within the runtime.
627         * AppDomain.cs (CreateDomain): Make AppDomainSetup serialize the
628         necessary members in preparation for the cross-domain copy.
630         * Environment.cs: Corlib version bump.
632 2009-10-02  Marek Safar  <marek.safar@gmail.com>
634         * Array.cs, Decimal.cs, String.cs, Console.cs, _AppDomain.cs,
635         AppDomain.cs: Removed prehistoric mcs workarounds.
637 2009-09-30  Mark Probst  <mark.probst@gmail.com>
639         * Thread.cs: Remove serialized culture icall stuff from
640         InternalThread.  Implement it by using the cross-domain byte array
641         transfer icalls.
643         * Environment.cs: Corlib version bump.
645 2009-09-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
647         * TermInfoDriver.cs: attempt to fix bug #527487.
649 2009-09-28  Atsushi Enomoto  <atsushi@ximian.com>
651         * Console.cs : do not use codepage 28591. It breaks build on
652           Japanese Windows.
654 2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
656         * TermInfoDriver.cs: avoid segv if the pointer is not properly
657         initialized.
659 2009-09-26  Mark Probst  <mark.probst@gmail.com>
661         * NumberFormatter.cs: Remove the _thread field.
663 2009-09-26  Mark Probst  <mark.probst@gmail.com>
665         * Environment.cs: Corlib version bump.
667 2009-09-24  Zoltan Varga  <vargaz@gmail.com>
669         * Type.cs: Initialize the Missing field.
671 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
673         * Environment.cs: Remove imperative CAS environment
674         permission checks under NET_2_1
676 2009-09-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
678         * Console.cs: mark methods/properties that only work on windows.
679         Fixes bug #540593.
681 2009-09-21  Sebastien Pouliot  <sebastien@ximian.com>
683         * AppDomain.cs: Remove use of IPrincipal, Evidence and
684         PermissionSet types for NET_2_1
686 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
688         * Activator.cs: Remove COM related method for NET_2_1
689         * AppDomain.cs: Remove extra methods and properties for NET_2_1
690         * AppDomainSetup.cs: Remove some properties for NET_2_1
692 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com> 
694         * AppDomain.cs, Environment.cs: Remove imperative CAS file IO
695         permission checks under NET_2_1
697 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
699         * AppDomainManager.cs: Remove NET_2_1 defines
700         * AppDomainManager_2_1.cs: New. NET_2_1 specific implementation
702 2009-09-04  Miguel de Icaza  <miguel@novell.com>
704         * TermInfoDriver.cs: Handle a few more key combinations.
706 2009-08-14  Miguel de Icaza  <miguel@novell.com>
708         * TermInfoDriver.cs (GetCursorPosition): Before we probe the
709         terminal for the cursor location, read all the pending console
710         input into our internal buffer and then send the cursor location
711         request.
713 2009-08-26  Sebastien Pouliot  <sebastien@ximian.com>
715         * TimeSpan.cs: Fix parsing when seconds are not specified.
717 2009-08-14  Marek Safar  <marek.safar@gmail.com>
719         * Type.cs: Made IsClass work under compiler context.
721 2009-08-12  Zoltan Varga  <vargaz@gmail.com>
723         * ResolveEventArgs.cs: Add net 4.0 RequestingAssembly property.
725 2009-08-11  Jérémie Laval  <jeremie.laval@gmail.com>
727         * Funcs.cs:
728         * Action.cs:
729         * AggregateException.cs: Add BOOTSTRAP_NET_4_0.
731 2009-08-07  Marek Safar  <marek.safar@gmail.com>
733         * AppDomain.cs: IsHomogenous always returns true for now.
735 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
737         * Environment.cs: Bump corlib version.
739 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
741         * Environment.cs: Bump corlib version.
743 2009-08-03  Zoltan Varga  <vargaz@gmail.com>
745         * Environment.cs: Bump corlib version.
747 2009-07-30  Marek Safar  <marek.safar@gmail.com>
749         * AppDomain.cs: Implemented 2.0 CreateDomain.
751 2009-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
753         Type.cs (MakeArrayType): Handle one-dym multidimensional array
754         created with Type::MakeArrayType (1).
756 2009-07-28  Rodrigo Kumpera  <rkumpera@novell.com>
758         * Type.cs (FindMembers): Fix the ordering of returned members
759         to method, ctor, property, event, field and nested type.
761 2009-07-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
763         * Array.cs: empty arrays just return -1 in LastIndexOf().
765 2009-07-27  Miguel de Icaza  <miguel@novell.com>
767         * Value types implementing IConvertible.ToType now throw an
768         ArgumentNullException if they are passed a null as the
769         "targetType" argument.
771         This code can not be put directly in the Convert.ToType method, as
772         this method is used by Convert.ToType (object o, TypeCode tc)
773         which uses null as a target to throw a different kind of error
774         (InvalidCastException).
776         Fixes a few more bugs in the Silverlight BCL test suite.
778         Additionally, the parameter type has been renamed.
780 2009-07-26  Miguel de Icaza  <miguel@novell.com>
782         * Type.cs: (GetMember) call directly the worker method, instead of
783         calling through an intermediary.
785         (GetMember, full): throw if the name is null.
787 2009-07-19  Robert Jordan  <robertj@gmx.net>
789         * __ComObject.cs: Factor out Initialize method and expose it to
790         ComInteropProxy. Fixes bug #520437.
792 2009-07-14  Rodrigo Kumpera  <rkumpera@novell.com>
794         * Attribute.cs (GetCustomAttributes): Pass typeof(Attribute)
795         to GetCustomAttributes to match MS.
797         * MonoCustomAttrs.cs (GetCustomAttributesBase): Do proper
798         checking of which types are handled by the runtime.
800         * MonoCustomAttrs.cs (IsDefined): Same.
802         Fixes #521885.
804 2009-07-14  Zoltan Varga  <vargaz@gmail.com>
806         * Environment.cs: Bump corlib version.
808 2009-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
810         * Type.cs (IsUserType): Only TypeDelegator and types
811         outside of corlib are unhandled usertypes.
813 2009-07-02  Marek Safar  <marek.safar@gmail.com>
815         * Type.cs, AppDomain.cs: 4.0 bits.
817 2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
819         * DateTime.cs: if the DateTimeOffset is out of bounds, let Parse
820         report the error. Fix stupid harmless typo.
821         * DateTimeOffset.cs: report error if the UTC date/time is out of
822         bounds.
824 2009-06-25  Miguel de Icaza  <miguel@novell.com>
826         * Array.cs: IList.this needs to throw IndexOutOfRangeException
827         when the index is invalid, not ArgumentOutOfRangeException.
829         * Int32.cs: Do not crash if the FormatProvider returns a null
830         value on the call to GetFormat (Type).
832         Validate the NumberStyles, passes Int/Int32Parse2.exe
834         Fix regression introduced in 2005, we need to throw
835         ArgumentNullException on Parse.
837 2009-06-25  Miguel de Icaza  <miguel@novell.com>
839         * Int32.cs: Fix regression introduced in 2005, we need to throw
840         ArgumentNullException on Parse.
842 2009-06-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
844         * DateTime.cs: ignore MinValue to avoid DateTimeOffset ctor throwing
845         when adjusting for TZ.
847 2009-06-22  Miguel de Icaza  <miguel@novell.com>
849         * String.cs: In Silverlight the whitespace characters 0x202f and
850         0x205f are considered for Trim and Split purposes. 
852 2009-06-21  Marek Safar  <marek.safar@gmail.com>
854         * Tuples.cs: Add Equals, GetHashCode.
856 2009-06-21  Zoltan Varga  <vargaz@gmail.com>
858         * IntPtr.cs (.ctor): Disable the check in the long ctor until we
859         can figure out how to do it properly.
861 2009-06-20  Zoltan Varga  <vargaz@gmail.com>
863         * IntPtr.cs (.ctor): Allow long values whose 31th bit is set.
865 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
867         * DateTime.cs: quick fix for the 1.x build.
869 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
871         * AppDomainSetup.cs: update attribute.
872         * TermInfoDriver.cs: ensure we are initialized in CheckWindowDimensions().
873         * DateTimeOffset.cs: Implement Parse().
874         * DateTime.cs: add 'zzz' to the list of default time formats. Return a
875         DateTimeOffset from _DoParse. Fixed the offset minutes when the
876         timezone is specified as a negative one.
877         * Console.cs: updates for MoveBufferArea().
878         * AppDomainManager.cs: implement EntryAssembly.
879         * AppDomain.cs: update attribute.
881 2009-06-15  Atsushi Enomoto  <atsushi@ximian.com>
883         * Environment.cs : bump corlib version.
885 2009-06-12  Bill Holmes  <billholmes54@gmail.com>
887         * Variant.cs (GetValue):  Changing the bool case to use the short value.  
888           This is to avoid junk in the high word.
890         Contributed under MIT/X11 license.
892 2009-06-10  Marek Safar  <marek.safar@gmail.com>
894         * Predicate.cs, Action.cs, Funcs.cs, Comparison.cs, IComparable.cs,
895         Converter.cs, EventHandler.cs: Add type variance.
896         
897         * InvalidTimeZoneException.cs,
898         TimeZoneNotFoundException.cs: New file.
900 2009-05-27  Zoltan Varga  <vargaz@gmail.com>
902         * AppDomain.cs (DoAssemblyResolve): Fix recursion detection. Fixes #507003.
904 2009-05-26  Mark Probst  <mark.probst@gmail.com>
906         * Thread.cs: Don't set the execution context when creating a
907         thread because the _ec member is thread static and we set the
908         wrong one.  It's now set by the runtime.  We just provide the
909         correct one.
911         * Environment.cs: Bump corlib version.
913 2009-05-22  Zoltan Varga  <vargaz@gmail.com>
915         * Tuple.cs Tuples.cs: New files.
917         * Lazy.cs LazyExecutionMode.cs Funcs.cs: New files.
919 2009-05-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
921         * Type.cs: (GetInterfaceMap) 'this' can't be an interface itself.
922         Fixed bug #503728.
924 2009-05-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
926         * TermInfoDriver.cs: replace Peek with DataAvailable.
928 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
930         * Console.cs: Remove Windows-specific p/invokes and SSC code
931         from the NET_2_1 build.
933 2009-05-01  Sebastien Pouliot  <sebastien@ximian.com>
935         * AppDomainManager.cs: Fix base class for NET_2_1 and implement
936         CheckSecuritySettings (added in 2.0SP and part of SL API)
938 2009-04-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
940         * Enum.cs: return the value as an enum of the right type.
942 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
944         * Enum.cs: avoid exceptions from ToObject and use Try* instead.
946 2009-04-25  Miguel de Icaza  <miguel@novell.com>
948         * TermInfoDriver.cs: Use the new StreamReader.DataAvailable to
949         load all the data that was added into the `stdin' stream when we
950         did the `Read'.
952 2009-04-24  Sebastien Pouliot  <sebastien@ximian.com>
954         * Environment.cs: #ifdef out code that use the registry for the 
955         NET_2_1 profile and some other properties (2) that added
956         [SecuritySafeCritical] methods to audit inside Moonlight.
958 2009-04-21  Mark Probst  <mark.probst@gmail.com>
960         * Environment.cs: Bump corlib version.
962 2009-04-21  Miguel de Icaza  <miguel@novell.com>
964         * TermInfoDriver.cs: Prevent race condition if two threads try to
965         initialize the Console at the same time. 
967         What happens is that inited is set, and elsewhere we try to
968         dereference native_terminal_size before it is set.
970         * Reduce code size by using a table instead of manually making a
971         few hundred calls.
972         
973 2009-04-20  Miguel de Icaza  <miguel@novell.com>
975         * Enum.cs (MonoEnumInfo): Compare bytes, shorts, ints and longs as
976         unsigned values as specified and to fix 371559, from the bug:
978                 So the actual difference is that MSFT's Enum.GetValues
979                 orders the members as unsigned even when the underlying
980                 type is int.  See the following.  Perhaps that's what's
981                 being implied by "binary values" in that Enum.GetValues
982                 MSDN quote above.
984 2009-04-18  Mark Probst  <mark.probst@gmail.com>
986         * NumberFormatter.cs: Keep the current thread's number formatter
987         as a ThreadStatic member.
989 2009-04-18  Mark Probst  <mark.probst@gmail.com>
991         * Environment.cs: Bump corlib version.
993 2009-04-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
995         * GCNotificationStatus.cs: new enum.
997 2009-04-10  Zoltan Varga  <vargaz@gmail.com>
999         * Array.cs: Make some of the InternalArray methods non-generic to cut down
1000         on the number of instantiations. Add implementation for 
1001         ICollection:IsReadOnly.
1003 2009-03-26  Jb Evain  <jbevain@novell.com>
1005         * Delegate.cs (CreateDelegate): Support for delegates
1006         on static methods closed on a null target.
1008 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
1010         * Environment.cs: Bump corlib version.
1012 2009-03-25  Sebastien Pouliot  <sebastien@ximian.com>
1014         * Delegate.cs: Add new parameter to CreateDelegate_internal (icall)
1015         * Environment.cs: Bump mono_corlib_version to 73
1017 2009-03-25  Jb Evain  <jbevain@novell.com>
1019         * Delegate.cs (CreateDelegate): fix checks to deal with
1020         valuetypes -> obj conversions for arguments, and avoid
1021         issues with such unallowed conversion for return types.
1023 2009-03-23  Zoltan Varga  <vargaz@gmail.com>
1025         * String.cs (LastIndexOf): Handle empty strings correctly. Fixes #486234.
1027 2009-03-18  Zoltan Varga  <vargaz@gmail.com>
1029         * Type.cs (GetGenericTypeDefinition): Make this throw an exception to be
1030         consistent with MS.NET. Move the real implementation to MonoType.
1032 2009-03-18  Marek Safar  <marek.safar@gmail.com>
1034         * Decimal.cs: Initialize all fields.
1036 2009-03-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
1038         * ConsoleDriver.cs:
1039         * TermInfoDriver.cs: handle Ctrl-D (or similar) in ReadLine.
1040         Fixes bug #483950.
1042         * ControlCharacters.cs: index to the control characters list.
1043         * Environment.cs: bumped corlib version.
1045 2009-03-14  Miguel de Icaza  <miguel@novell.com>
1047         * Convert.cs (ToType): Control whether this internal function will
1048         call an IConvertible.ToType method or not.  
1050         Classes and structs implementing IConvertible in mscorlib (the
1051         only callers that can access Convert.ToType) must pass false to
1052         avoid a infinite recursion problem and callers from the public
1053         Convert API must call it with true.
1055         This fixes the regression reported in #485377 that was introduced
1056         by the fix for #481687.
1058         * Int16.cs, UInt64.cs, Double.cs, Enum.cs, SByte.cs, UInt16.cs,
1059         Byte.cs, Decimal.cs, Int32.cs, String.cs, Int64.cs, Char.cs,
1060         Boolean.cs, Single.cs, UInt32.cs: Update the call sites.
1062 2009-03-07  Gert Driesen  <drieseng@users.sourceforge.net>
1064         * Convert.cs: Do not throw InvalidCastException if
1065         IConvertible.ToType returns null.
1067 2009-03-06  Andrés G. Aragoneses  <aaragoneses@novell.com>
1069         * Convert.cs: Correct typo in exception message.
1071 2009-03-06  Miguel de Icaza  <miguel@novell.com>
1073         * Convert.cs: Apply patch from Tom Hindle that uses
1074         IConvertible.ToType if there are no other possible conversions
1075         defined. 
1077         Fixes: #481687 
1079 2009-03-06  Rodrigo Kumpera  <rkumpera@novell.com>
1081         * MonoType.cs (MonoTypeInfo): Add default_ctor field.
1083         * MonoType.cs: Add GetDefaultConstructor that caches using
1084         type_info.default_ctor.
1086         * MonoType.cs (FullName): Protects against type_info been replaced
1087         under the hood.
1089         * Activator.cs (CreateInstance): If the type is a MonoType resolve the
1090         default constructor using the new method from MonoType.
1092         Improves Activator::CreateInstance performance by at least 30%, reduces object churn
1093         and domain lock contention.
1095 2009-03-03  Rodrigo Kumpera  <rkumpera@novell.com>
1097         * Guid.cs (BaseToString): Reduce allocations.
1099 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1101         * Environment.cs: Bump corlib version.
1103 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1105         * Enum.cs (IsDefined): If the enum underlying type is int32, use
1106         the generic version, which doesn't box every element of the array.
1108 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1110         * Enum.cs (GetName): If the enum underlying type is int32, use
1111         the generic version, which doesn't box every element of the array.
1113 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1115         * Enum.cs (MonoEnumInfo::GetInfo): Share the boxed form of the
1116         MonoEnumInfo between both caches.
1118 2009-02-28  Zoltan Varga  <vargaz@gmail.com>
1120         * Enum.cs (FindName): Use a hash table for looking up names instead of
1121         a linear search for enums with a lot of values.
1123 2009-02-27  Rodrigo Kumpera  <rkumpera@novell.com>
1125         * UInt16.cs (CompareTo/short): Make it return the
1126         same values as the /object version.
1128         * Enum.cs (CompareTo): Use new compare_value_to icall to do the comparison.
1129         This avoids two allocations and reduce the number of trips to unmanaged land
1130         by one.
1132         The performance improvement is up to 3.5x with the bonus of reducing the generated
1133         garbage.
1135 2009-02-26  Marek Safar  <marek.safar@gmail.com>
1137         * Nullable.cs: Inline GetValueOrDefault.
1139 2009-02-26  Zoltan Varga  <vargaz@gmail.com>
1141         * String.cs (FormatHelper): If all the arguments are strings, compute an
1142         initial length for the stringbuilder to avoid reallocations.
1144         * MonoType.cs (FullName): Cache the result of this in a field, as
1145         computing it is expensive.
1147         * Environment.cs: Bump corlib version.
1148         
1149 2009-02-25  Zoltan Varga  <vargaz@gmail.com>
1151         * Enum.cs (GetInfo): Add a global cache in addition to the thread-local
1152         caches to accomodate short living threads like threadpool threads.
1154 2009-02-23  Zoltan Varga  <vargaz@gmail.com>
1156         * Type.cs: Add IsUserType internal property.
1158 2009-02-21  Jb Evain  <jbevain@novell.com>
1160         * MonoType.cs (InvokeMember): don't pass a null args to
1161         Binder.BindToMethod. Fix for #471275.
1163 2009-02-12  Robert Jordan  <robertj@gmx.net>
1165         * Exception.cs: Rename remote_stack_trace for MS.NET
1166         compatibility. Fixes #425512.
1168 2009-02-12  Lluis Sanchez Gual  <lluis@novell.com>
1170         * MarshalByRefObject.cs: Implemented MemberwiseClone(bool).
1172 2009-02-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
1174         * AppDomain.cs: this fixes the remoting tests.
1175         Zoltan found out that there was a domain improperly using shadow
1176         copy.
1178 2009-02-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
1180         * DateTime.cs: check for null and empty strings before anything else
1181         in CoreParse.
1183 2009-01-27  Zoltan Varga  <vargaz@gmail.com>
1185         * Type.cs (GetHashCode): Work on UnderlyingSystemType. Fixes #467229.
1187 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
1189         * Variant.cs ApplicationIdentity.cs ActivationContext.cs Environment.cs
1190         AppDomain.cs: Fix warnings.
1192 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
1194         * AppDomain.cs: LoadAssembly() returns null instead of throwing now.
1195         Add new LoadSatellite method.
1197 2009-01-20  Mark Probst  <mark.probst@gmail.com>
1199         * Exception.cs: Added a comment explaining the use of trace_ips.
1201 2009-01-12  Bill Holmes  <billholmes54@gmail.com>
1203         * Variant.cs (GetValue):  Handling the NULL IDispatch 
1204           and IUnknown case.
1206         Contributed under MIT/X11 license.
1208 2009-01-09  Miguel de Icaza  <miguel@novell.com>
1210         * DateTime.cs: Implement TryParse in a way that will not depend on
1211         the try/catch statement.   The try/catch statement is still there
1212         *just in case*, I might have missed some codepaths.
1214 2009-01-06  Atsushi Enomoto  <atsushi@ximian.com>
1216         * DateTime.cs : when ".FF..." is specified, allow milliseconds-less
1217           time. Fix #444103.
1219 2008-12-19  Bill Holmes  <billholmes54@gmail.com>
1221         * Environment.cs (GetEnvironmentVariable) :  Avoiding an nre if 
1222           the variable is not set.
1224         * Environment.cs (SetEnvironmentVariable) : Adding a call to 
1225           internalBroadcastSettingChange to notify Windows that an environment 
1226           variable has changed.
1228         Contributed under MIT/X11 license.
1230 2008-12-18  Jb Evain  <jbevain@novell.com>
1232         * String.cs: the Compare methods that were specific to SL2 are now
1233         also in .net 2/3.5 sp1.
1235 2008-12-10  Bill Holmes  <billholmes54@gmail.com>
1237         * Variant.cs (SetValue):   Changing the behavior for COM object in 
1238           VARIANTs to match MS.  Also adding support for BStrWrapper, 
1239           UnknownWrapper, and DispatchWrapper.
1241         Contributed under MIT/X11 license.
1243 2008-11-28  Miguel De Icaza  <miguel@novell.com>
1245         * TermInfoDriver.cs: Also register a mapping to make verase be the
1246         backspace key.  Funny thing: verase was fetched from the termios,
1247         but it was *never* actually used in this file.
1249         VSUSP and VINTR are likewise ignored.   Must ponder this.
1251         This makes the backspace key in MacOS work on interactive
1252         applications.
1253         
1254 2008-11-15  Kornél Pál  <kornelpal@gmail.com>
1256         * Convert.cs: Removed useless check from ToChar (ushort).
1258 2008-11-06  Bill Holmes  <billholmes54@gmail.com>
1260         * Type.cs (FindMembers):  Changing the instantiated type of the 
1261           returned MemberInfo array to match the MemberTypes flag
1262           passed in argument 1.
1264         Contributed under MIT/X11 license.
1266 Mon Nov 3 16:39:37 CET 2008 Paolo Molaro <lupus@ximian.com>
1268         * Array.cs: in the IList set_Item, ensure the array
1269         element is set using the proper type checks (bug #440819).
1271 Mon Oct 13 16:40:56 CEST 2008 Paolo Molaro <lupus@ximian.com>
1273         * Environment.cs, OperatingSystem.cs: complete support for
1274         PlatformID (bug #433108).
1276 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
1278         * AppDomain.cs: (Load(AssemblyName)) Use the CodeBase after the Name
1279         when both are provided.
1280         Fixes bug #322228.
1282 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1284         * Variant.cs : Adding the BRECORD field to ensure the right size on
1285           a 64-bit OS.  32-bit 16 bytes, 32-bit 24 bytes.
1287         Contributed under MIT/X11 license.
1289 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1291         * Variant.cs (SetValue) : Adding code to handle enums.
1293         Contributed under MIT/X11 license.
1295 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1297         * Variant.cs : Cleaning up some tab formatting problems.
1299         Contributed under MIT/X11 license.
1301 2008-10-08  Zoltan Varga  <vargaz@gmail.com>
1303         * PlatformID.cs: Define Xbox/MacOSX on the 2.0 profile too, since it
1304         is part of NET 3.5 SP1.
1306 2008-10-07  Marek Habersack  <mhabersack@novell.com>
1308         * Math.cs: implemented the away from zero rounding for the Round
1309         (double, int, MidpointRounding) overload.
1311 2008-10-06  Zoltan Varga  <vargaz@gmail.com>
1313         * Activator.cs (CreateInstance): Don't return the return value of the
1314         ctor.Invoke (object, ...) overload since it is null, return 'newOb' instead.
1316 Mon Oct 6 15:12:25 CEST 2008 Paolo Molaro <lupus@ximian.com>
1318         * Array.cs: better message when keys cannot be compared
1319         when sorting (bug #368455).
1321 2008-09-29  Rodrigo Kumpera  <rkumpera@novell.com>
1323         * Type.cs (MakeGenericType): Only use UnderlyingSystemType for user types.
1324         This must exclude TypeBuilder and EnumBuilder. Fixes #430508.
1326 2008-09-28  Juraj Skripsky  <js@hotfeet.ch>
1328         * String.cs (ReplaceUnchecked): Avoid any unnecessary work and 
1329         string allocations by returning early when no oldValue was found.
1331 2008-09-24  Marek Habersack  <mhabersack@novell.com>
1333         * Double.cs: check whether decimal_separator, group_separator and
1334         currency_symbol strings aren't empty before trying to index them
1335         in Parse ().
1337 2008-09-24  Jb Evain  <jbevain@novell.com>
1339         * AppDomain.cs (CreateDomain): call the domain initializer in
1340         the newly created AppDomain. Fixes #429545.
1342 2008-09-24  Jb Evain  <jbevain@novell.com>
1344         * AppDomain.cs: implement the CreateDomain overload which
1345         takes an AppDomain initializer. Fixes #429545.
1347 2008-09-17  Robert Jordan  <robertj@gmx.net>
1349         * DelegateSerializationHolder.cs: Starting with .NET 2.0, delegates
1350         of non-public methods are allowed to be serialized. Fixes #425345.
1352 2008-09-15  Andy Hume  <andyhume32@yahoo.co.uk>
1354         * DateTimeOffset.cs: DateTimeOffset currently has no
1355         deserialization constructor, thus deserialization
1356         fails ("SerializationException: The constructor to deserialize an
1357         object of type System.DateTimeOffset was not found.")
1359         Patch attached, implements GetObjectData and that constructor.
1360         Also includes tests, which include round-tripping to/from MSFT.
1362 2008-09-14  Zoltan Varga  <vargaz@gmail.com>
1364         * ConsoleDriver.cs: Remove obsolete GetTtySize icall.
1366 2008-09-09  Marek Safar  <marek.safar@gmail.com>
1368         * Convert.cs, Decimal.cs: Fixed float/double to decimal range check.
1370 2008-09-07  Miguel de Icaza  <miguel@novell.com>
1372         * TermInfoDriver.cs: Add support for updating the size of the
1373         terminal when it changes.   
1375 2008-08-27  Miguel de Icaza  <miguel@novell.com>
1377         * TermInfoDriver.cs: Adds support for the Insert and Delete keys
1378         on the keyboard.   
1380 2008-08-26  Miguel de Icaza  <miguel@novell.com>
1382         * New console features are used by gmcs.exe, but since we only
1383         build gmcs.exe with the bootstrap corlib, we need to ensure all
1384         the new stuff is included in BOOTSTRAP_NET_2_0
1386 2008-08-26  Robert Jordan  <robertj@gmx.net>
1388         * AppDomain.cs (get_Evidence): Fix endless recursion exposed
1389         by the test case of bug #420197.
1391 2008-08-24  Miguel de Icaza  <miguel@novell.com>
1393         * TermInfoDriver.cs (GetKeyFromBuffer): Add support for reporting
1394         Alt-LETTER sequences.   They were ignored previously.
1396 2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
1398         * AppDomainSetup.cs: Remove IAppDomainSetup for SL2. This helps
1399         the tuner since the methods are then defined correctly (wrt to the
1400         implicit implementation of the interfaces)/
1402 2008-08-21  Sebastien Pouliot  <sebastien@ximian.com> 
1404         * Nullable.cs: Add two ComVisible(false) for SL2 profile.
1405         * PlatformID.cs: Add Xbox and MacOX for SL2 profile.
1406         * WeakReference.cs: Add default, protected, ctor for SL2.
1408 2008-08-20  Miguel de Icaza  <miguel@novell.com>
1410         * ConsoleDriver.cs: TtySetup now takes an extra argument: the
1411         keypadXmit string.
1413 2008-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
1415         * Exception.cs: Fixed value of HResult to match MS. Added support for
1416         (de)serializing Data. Use deserialized ClassName, if available, to
1417         when name of type is used.
1419 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1421         * IServiceProvider.cs: Added ComVisible attribute (1.0 only).
1422         * String.cs: Fixed argument names to match MS.
1424 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1426         * Boolean.cs
1427         * Byte.cs
1428         * Char.cs
1429         * DateTime.cs
1430         * DBNull.cs
1431         * Decimal.cs
1432         * Double.cs
1433         * Enum.cs
1434         * Int16.cs
1435         * Int32.cs
1436         * Int64.cs
1437         * Single.cs
1438         * String.cs
1439         * UInt16.cs
1440         * UInt32.cs
1441         * UInt64.cs: Added missing CLSCompliant attributes for 1.0 profile.
1443 2008-08-07  Atsushi Enomoto  <atsushi@ximian.com>
1445         * DateTime.cs : zzzz format allows non-fixed length of number, even
1446           in exact parsing mode. Fixed bug #377042.
1448 2008-08-05  Jb Evain  <jbevain@novell.com>
1450         * String.cs: add new NET_2_1 Compare methods.
1452 2008-08-03  Miguel de Icaza  <miguel@novell.com>
1454         * ConsoleDriver.cs: If the terminal is dumb, do not activate the
1455         full terminal support.
1457 2008-08-02  Marek Safar  <marek.safar@gmail.com>
1459         * Type.cs: Removed _MemberInfo from base classes list.
1460         
1461 2008-07-28  Marek Safar  <marek.safar@gmail.com>
1463         * KnownTerminals.cs: Don't initialize rarely used static data.
1465 2008-07-24  Zoltan Varga  <vargaz@gmail.com>
1467         * Delegate.cs: Move the rarely used fields to a separate object, add
1468         'method_code' field.
1470         * Environment.cs: Bump corlib version.
1472         * ConsoleDriver.cs: Remove unused Suspend icall.
1474 2008-07-21  Marek Safar  <marek.safar@gmail.com>
1476         * AppDomain.cs (Load): Check for 0-length assembly name.
1478 2008-07-21  Rodrigo Kumpera  <rkumpera@novell.com>
1480         * Enum.cs (GetHashCode): Use new icall get_hashcode to
1481         avoid allocating a boxed version of the enum basetype.
1483 2008-07-17  Marek Safar  <marek.safar@gmail.com>
1485         * String.cs: reverted GetHashCode changes.
1487 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1489         * Char.cs: Remove obsolete lamespecs (it implements IConvertible, small formatting)
1491 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1493         * Char.cs: Optimize some Is* checks
1495 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1497         * DateTimeOffset.cs: Fix parameter name
1499 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1501         * DateTimeOffset.cs: Remove public, make implicit method
1503 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1505         * Environment.cs: Add missing attribute
1507 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
1509         * Delegate.cs (get_Method): Use the internal version
1510         of GetMethodFromHandle to avoid the generic class check.
1512 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1514         * GCCollectionMode.cs: Add attribute
1515         * GC.cs: Add semi-stubbed missing method, remove obsolete Lamespec, hide non-public method
1517 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1519         * Delegate.cs: Fix parameter names for 2.0 profile
1520         * Int64.cs: Fix parameter names
1522 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1524         * IntPtr.cs: Fix parameter names, change internal name to accomodate for parameter changes
1526 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1528         * Predicate.cs:
1529         * Object.cs:
1530         * Nullable.cs
1531         * MultiCastDelegate.cs
1532         * ModuleHandle.cs
1533         * Math.cs
1534         * MarshalByRefObject.cs
1535         * Int64.cs
1536         * Int32.cs
1537         * Int16.cs
1538         * Environment.cs
1539         * Delegate.cs
1540         * DateTimeOffset.cs
1541         * ConsoleKeyInfo.cs
1542         * Console.cs
1543         * Array.cs
1544         * AppDomain.cs: Fix parameter names
1546 2008-07-03  Rodrigo Kumpera  <rkumpera@novell.com>
1548         * Exception.cs (GetFullNameForStackTrace): Don't do string
1549         concatenation.
1551 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1553         * ContextMarshalException.cs:
1554         * DllNotFoundException.cs:
1555         * EntryPointNotFoundException.cs:
1556         * FieldAccessException.cs:
1557         * MethodAccessException.cs:
1558         * MissingFieldException.cs:
1559         * PlatformNotSupportedException.cs: Fix parameter names
1561 2008-06-30  Marek Safar  <marek.safar@gmail.com>
1563         * String.cs: Tweaked hash code methods for better distibution, and speed-up.
1565 2008-06-29  Zoltan Varga  <vargaz@gmail.com>
1567         * MonoCustomAttrs.cs (IsDefined): Avoid calling the .Assembly property in some
1568         cases.
1570 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1572         * Char.cs: Fix formatting, rename wrong named param, remove code duplication
1574 2008-06-28  Zoltan Varga  <vargaz@gmail.com>
1576         * Enum.cs (GetUnderlyingType): Implement this using an icall.
1577         
1578         * Enum.cs (Format): Call IsDefined with inherited=false.
1580         * Exception.cs: Fix a warning.
1582 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
1584         * Enum.cs (FindName): Avoid calling String.Compare for the !ignoreCase case.
1586 2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>
1588         * Exception.cs: Build method traces using the
1589         stack trace StringBuilder.
1591 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1593         * Version.cs: Fix parameter names
1594         * UInt64.cs: 
1595         * UInt32.cs:
1596         * UInt16.cs:
1597         * Int64.cs: Fix parameter names
1598         * Int32.cs: Fix parameter names; some small formatting
1599         * Int16.cs: Fix parameter names
1600         * Double.cs: Fix parameter names; small formatting
1601         * Single.cs:
1602         * SByte.cs:
1603         * Byte.cs:
1604         * Boolean.cs:
1605         * DateTime.cs:
1606         * Enum.cs:
1607         * Decimal.cs: Fix parameter names
1609 2008-06-14  Zoltan Varga  <vargaz@gmail.com>
1611         * Environment.cs: Bump corlib version.
1613 2008-06-10  Zoltan Varga  <vargaz@gmail.com>
1615         * Math.cs (IEERemainder): Use the normal BitConverter.Int64BitsToDouble method
1616         here to fix this on sparc.
1618 2008-06-07  Marek Safar  <marek.safar@gmail.com>
1620         * Array.cs (IndexOf, LastIndexOf): Fixed more array element comparers used
1621         instead of tested value comparers.
1623 2008-06-07  Zoltan Varga  <vargaz@gmail.com>
1625         * Environment.cs: Bump corlib version.
1627 2008-06-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1629         * String.cs: Managed replacement for Replace method ;)
1631 2008-06-03  Zoltan Varga  <vargaz@gmail.com>
1633         * Decimal.cs (Divide): Move expensive equality checks to unmanaged code.
1635 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
1637         * MonoType.cs: For property reflection we should strictly match the return 
1638         type if available.
1640 2008-06-01  Juraj Skripsky  <js@hotfeet.ch>
1642         * String.cs (Substring): Blocking bug #395904 has been fixed,
1643         re-enable optimization.
1645 2008-06-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1647         * String.cs: Replace Split IndexOf
1649 2008-05-30  Marek Safar  <marek.safar@gmail.com>
1651         * Array.cs (IndexOf): Use an array element comparer instead of tested value
1652         comparer.
1654 2008-05-28  Zoltan Varga  <vargaz@gmail.com>
1656         * Console.cs (.cctor): Make sdout synchronized in the console case too.
1657         Fixes #395069.
1659 2008-05-27  Eyal Alaluf <eyala@mainsoft.com>
1661         * NumberFormatter.jvm.cs: Fix tables to avoid arithemtic overflow
1662           in Double.ToString as exposed by Bug #383531.
1664 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1666         * String.cs: Comment out 2.0 compatibility fix for SubString, since it
1667         causes regressions in System.Xml.
1669 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1671         * String.cs: Changed exception to match MS. Fixed ToCharArray to use
1672         startindex for source. In PadLeft and PadRight, only return current
1673         string if totalWidth is less than length.
1675 2008-05-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1677         * Enum.cs: use Array.BinarySearch on the values in IsDefined and
1678         GetName instead of looping through the list. Made the cache in
1679         MonoEnumInfo thread static to avoid contention.
1681 2008-05-20  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1683         * String.cs: Replace Split function
1685 2008-05-19  Sebastien Pouliot  <sebastien@ximian.com>
1687         * Boolean.cs,
1688         * Double.cs,
1689         * Enum.cs,
1690         * Int64.cs,
1691         * Single.cs,
1692         * UInt32.cs,
1693         * UInt64.cs: Avoid unboxing primitive types more than one time.
1694         [Found using Gendarme]
1696 2008-05-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1698         * String.cs: Update Trim functions
1700 2008-05-19  Zoltan Varga  <vargaz@gmail.com>
1702         * ConsoleDriver.cs: Avoid initializing the three driver classes when only one
1703         is needed.
1705 2008-05-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1707         * String.cs: Update Join and Pad functions
1709 2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1711         * Environment.cs: Use String.IsNullOrEmpty inside 2.0 code.
1712         [Found using Gendarme]
1714 2008-05-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1716         * String.cs: Directly create charenumerator
1718 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1720         * String.cs: Resubmit uncritical parts of String patch
1722 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1724         * DateTime.cs: Fix parameter names
1726 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1728         * Decimal.cs: Fix parameter names
1730 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1732         * Decimal.cs: Tabbify/Format
1734 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1736         * Version.cs
1737           UnhandledExceptionEventHandler.cs
1738           UInt64.cs
1739           UInt32.cs
1740           UInt16.cs: Fix parameter names
1741           Type.cs: Fix parameter names, formatting
1742           TimeSpan.cs
1743           StringComparer.cs
1744           Single.cs
1745           SByte.cs: Fix parameter names
1747 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1749         * Double.cs
1750           Enum.cs
1751           Exception.cs
1752           IComparable.cs
1753           IEquatable.cs
1754           IFormatProvider.cs
1755           IFormattable.cs
1756           InsufficientMemoryException.cs: Fix parameter names
1758 2008-05-14  Jb Evain  <jbevain@novell.com>
1760         * Exception.cs (ToString): output a new line before the 
1761         inner exception separator. Fixes #390150.
1763 2008-05-12  Gert Driesen  <drieseng@users.sourceforge.net>
1765         * Type.cs: Modifies exceptions to match MS. Changed GetTypeFromHandle
1766         on 1.0 profile to throw ArgumentException when handle is invalid,
1768 2008-05-08  Rodrigo Kumpera  <rkumpera@novell.com>
1770         * Activator.cs (CreateInstance): Check for null types when creating
1771         the error message.
1773 2008-05-07  Robert Jordan  <robertj@gmx.net>
1775         * RuntimeFieldHandle.cs, RuntimeTypeHandle.cs, RuntimeMethodHandle.cs:
1776         Don't try to serialize uninitialized handles. Fixes #386641.
1778 2008-05-06  Marek Safar  <marek.safar@gmail.com>
1780         * IntPtr.cs (eplicit long, GetObjectData): Use ToInt64.
1782 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
1784         * Type.cs (GetTypeFromHandle): Apparently, it is possible to create a 
1785         RuntimeTypeHandle with a zero handle value by calling its ctor. Add an argument
1786         check for that.
1788         * IntPtr.cs (ToInt64): Use (long)(int) on 32 bit platforms to avoid the default
1789         unsigned conversion done by the compiler. Fixes #386466.
1791 2008-05-04  Zoltan Varga  <vargaz@gmail.com>
1793         * Type.cs (UnderlyingSystemType): Add a comment pointing people to 
1794         Enum.GetUnderlyingType ().
1796 2008-04-26  Zoltan Varga  <vargaz@gmail.com>
1798         * Array.cs (LastIndexOf): Return GetLowerBound (0) -1 instead of -1.
1799         
1800         * Array.cs (LastIndexOf): Fix handling of empty arrays. Fixes #383876.
1802 2008-04-13  Zoltan Varga  <vargaz@gmail.com>
1804         * String.cs (Split): Fix the handling of RemoveEmptyEntries when the separator
1805         matches at the beginning of the string. Fixes #374511.
1807 2008-04-13  Jb Evain  <jbevain@novell.com>
1809         * ICloneable.cs: use the INSIDE_CORLIB pattern to
1810         internalize code that is used outside the corlib.
1811         Merged from the Moonlight 2 branch.
1813 2008-04-04  Raja R Harinath  <harinath@hurrynot.org>
1815         * String.cs (EndsWith) [CultureInfo variant]: Handle null 'culture'.
1816         (StartsWith, EndsWith, IndexOf, LastIndexOf) [StringComparison variant]:
1817         Throw exception on invalid StringComparison.
1819 2008-04-01  Eyal Alaluf <eyala@mainsoft.com>
1821         * NumberFormatter.cs NumberFormatter.jvm.cs: Performance optimizations.
1822           Reuse a per thread instance to format all the primitive types. Modify
1823           class accordingly so the same
1824           instance can be used multiple times.
1825         * Int16.cs UInt64.cs Double.cs SByte.cs UInt16.cs Byte.csDecimal.cs
1826           TimeSpan.cs Int32.cs Int64.cs Single.cs UInt32.cs: Change use of
1827           NumberFormatter to adapt to above changes in class interface.
1829 2008-03-31  Mark Probst  <mark.probst@gmail.com>
1831         * MonoType.cs: Don't do CAS security checks in CheckMethodSecurity
1832         for 2.1 profile.
1834 2008-03-28  Marek Safar  <marek.safar@gmail.com>
1836         * Nullable.cs (Box): Do things explicitly and not rely on broken gmcs
1837         behaviour.
1839 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
1841         * AppDomain.cs: Update after MonoMethod.InternalInvoke signature change.
1843         * Environment.cs: Bump corlib version.
1845         * DateTime.cs: Fix a warning.
1847 2008-03-21  Sebastien Pouliot  <sebastien@ximian.com>
1849         * String.cs: Use "this" in Split method instead of calling ToString.
1850         Found using Gendarme.
1852 2008-03-06  Marek Safar  <marek.safar@gmail.com>
1854         * MonoCustomAttrs (GetCustomAttributes): Type cannot be null with
1855         typeof (MonoCustomAttrs) hack.
1857 Wed Mar 5 19:39:01 CET 2008 Paolo Molaro <lupus@ximian.com>
1859         * Type.cs: optimize GetTypeCode () for the common case
1860         (fixes bug #367354).
1862 2008-03-02  Roei Erez  <roeie@mainsoft.com>
1864         * DateTime.cs: Improve the patch supplied by James Purcell to be
1865           dotnet-compatible, and add support for RoundTripKind parsing. 
1866           Fixed reopened bug #352210.
1869 Tue Feb 26 17:50:17 CET 2008 Paolo Molaro <lupus@ximian.com>
1871         * DateTime.cs: instroduce a method that returns ticks monotonically.
1873 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
1875         * Attribute.cs, MonoCustomAttrs: MS ignores the inherit param in 
1876         PropertyInfo's ICustomAttributeProvider implementation, but not 
1877         in the Attributes, so directly get the attributes from 
1878         MonoCustomAttrs instead of going throught the PropertyInfo's 
1879         ICustomAttributeProvider.
1880         [Fixes bugs #324472 and #322464]
1882 2008-02-26  Atsushi Enomoto  <atsushi@ximian.com>
1884         * DateTime.cs : fix roundtrip regression in Sys.Xml.XmlConvertTests,
1885           patch by James Purcell (at #352210).
1887 2008-02-25  Atsushi Enomoto  <atsushi@ximian.com>
1889         * DateTime.cs, DateTimeUtils.cs : make Kind value from parse result
1890           as dotnet-compatible. Patch by James Purcell, fixed bug #352210.
1892 2008-02-18  Atsushi Enomoto  <atsushi@ximian.com>
1894         * DBNull.cs : ToType(typeof(DBNull),...) should be allowed.
1896 2008-02-16  Sebastien Pouliot  <sebastien@ximian.com>
1898         * Object.cs: Fix parameter name to match MS implementation. Found
1899         using Gendarme.
1900         * ValueType.cs: Fix parameter name to match MS implementation. 
1901         Found using Gendarme.
1903 2008-02-14  Jb Evain  <jbevain@novell.com>
1905         * Delegate.cs (CreateDelegate): refactor. DRY!
1907 2008-02-12  Gert Driesen  <drieseng@users.sourceforge.net>
1909         * Delegate.cs (CreateDelegate): Walk the inheritance change to find
1910         matching method. Skip methods for which the return type does not match
1911         the delegate. Fixes bug #360784.
1913 2008-02-11  Eyal Alaluf <eyala@mainsoft.com>
1915         * NumberFormatter.cs: Fix ToString("R") for +-Infinity & NaN.
1917 2008-02-08  Sebastien Pouliot  <sebastien@ximian.com>
1919         * Random.cs: Explain (and extend) special case in Next(min,max)
1921 2008-02-08  Juraj Skripsky  <js@hotfeet.ch>
1923         * Random.cs (Next): Use rounding (via implicit conversion) only on
1924         positive values. Fixes bug 359918.
1926 2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
1928         * Environment.cs: Remove unused method found with Gendarme.
1930 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
1932         * Variant.cs: Fixed line endings.
1933         * MonoType.cs: Fixed parameter name for ArgumentException to match MS.
1935 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
1937         * Type.cs (MakeGenericType): Fix exception message.
1939 2008-01-29  Jb Evain  <jbevain@novell.com>
1941         * AppDomain.cs: add SL overload of DefineDynamicAssembly.
1943 2008-01-29  Marek Safar  <marek.safar@gmail.com>
1945         * Type.cs (MakeGenericType): More argument checks. Fixes #356863 by
1946          Sanghyeon Seo.
1948 2008-01-25  Rodrigo Kumpera  <rkumpera@novell.com>
1950         * MonoType.cs (InvokeMember): Fixed exceptions arguments for last comit.
1952 2008-01-24  Rodrigo Kumpera  <rkumpera@novell.com>
1954         * MonoType.cs (InvokeMember): Check for parameters without default value which
1955         the supplied argument is Missing.Value. Fixes one of the issues of #348522.
1957 2008-01-21  Sebastien Pouliot  <sebastien@ximian.com>
1959         * DateTimeOffset.cs: Avoid NRE on bad cast if null is provided to
1960         Equals(object). Found using Gendarme.
1962 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
1964         * DateTimeOffset.cs: Fix warnings.
1966 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
1968         * DateTimeOffset.cs: ParseExact: parse f, F, s too.
1970 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
1972         * DateTimeOffset.cs: ParseExact: honor the DateTimeStyles parameter.
1974 2008-01-15  Zoltan Varga  <vargaz@gmail.com>
1976         * AppDomainSetup.cs Buffer.cs Action.cs Array.cs BadImageFormatException.cs Byte.cs
1977         Attribute.cs _AppDomain.cs Boolean.cs AppDomain.cs: Fix some argument names to be 
1978         consistent with MS.
1980 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
1982         * DateTimeOffset.cs: start refactoring DoParse.
1984 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
1986         * Type.cs (GetConstructor): Use correct binding flags in type (Type[]) overload.
1987         Fixes #353604.
1989 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
1991         * NumberFormatter.cs, Double.cs, Single.cs: Fix Single & Double default
1992           ToString to handle +-Infinity & NaN.
1994 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
1996         * DateTimeOffset.cs: ParseExact (string, string, IFormatProvider) 
1997         implemented.
2000 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
2002         * NumberFormatter.cs: Remove some redundant assignments.
2004 2008-01-13  Gert Driesen  <drieseng@users.sourceforge.net>
2006         * AppDomain.cs: Also fix bug #350530 for overload taking evidence and
2007         args. On 1.0 profile, throw COMException to match MS and to allow
2008         our unit tests to pass on MS.
2010 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
2012         * NumberFormatter.cs: Check in redesigned implementation. Improves
2013           double.ToString performance by 2-3 orders of magnitude and other
2014           primitive numeric types ToString performance.
2015         * NumberFormatter.jvm.cs: The TARGET_JVM managed tables for NumberFormatter
2016           class for reuse if a completely managed NumberFormatter is required.
2017         * Int16.cs UInt64.cs Double.cs UInt16.cs SByte.cs Byte.cs TimeSpan.cs
2018           Int32.cs Int64.cs Single.cs UInt32.cs: Adapt to new NumberFormatter.
2020 2008-01-13  Zoltan Varga  <vargaz@gmail.com>
2022         * AppDomain.cs: Check for a missing entry point in the ExecuteAssembly methods.
2023         Fixes #350530.
2025 2008-01-11  Stephane Delcroix  <sdelcroix@novell.com>
2027         * DateTimeOffset.cs: Fixes the MinValue (was equal to MaxValue)...
2029 2008-01-10  Zoltan Varga  <vargaz@gmail.com>
2031         * Delegate.cs: Implement argument checking in CreateDelegate(Type,object,MethodInfo)
2032         method. Make the CreateDelegate(Type,MethodInfo) overload calls this version.
2033         Fixes #352805.
2035 2008-01-10  Stephane Delcroix  <sdelcroix@novell.com>
2037         * DateTimeOffset.cs: chain the Parse* methods together.
2039 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2041         * DateTime.cs : revert the previous fix. It caused regression on
2042           the buildbot.
2044 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2046         * DateTime.cs : fixed bug #352210. Kind is unspecified by default,
2047           while the tick is for local time by default. This fix also involved
2048           special x509 handling.
2050 2008-01-08  Marek Safar  <marek.safar@gmail.com>
2052         * Array.cs (LastIndexOf<T>): Fixed bound checking.
2054 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
2056         * AppDomain.cs: Move the assembly loading in ExecuteAssembly and 
2057         ExecuteAssemblyByName to managed to as said by the MSDN docs. Fixes #350530.
2059         * Environment.cs: Bump corlib version.
2060         
2061 2008-01-02  Marek Habersack  <mhabersack@novell.com>
2063         * Array.cs: fix a typo to unbreak the build.
2065 2008-1-1  Scott Peterson  <lunchtimemama@gmail.com>
2067         * Array.cs: Slight improvement to the quicksort algorithm.
2069 2007-12-28  Gert Driesen  <drieseng@users.sourceforge.net>
2071         * Environment.cs: Bump corlib version.
2073 2007-12-20  Gert Driesen  <drieseng@users.sourceforge.net>
2075         * AppDomain.cs: Added check for null AssemblyName, and invalid
2076         AssemblyName.Name to DefineDynamicAssembly overloads. Loosely based on
2077         patch provided by Cedric Vivier. Fixes bug #349272.
2079 2007-12-20  Stephane Delcroix  <sdelcroix@novell.com>
2081         * DateTimeOffset.cs: set [Min|Max]Value to UTC. Fixes #349621.
2083 2007-12-19  Stephane Delcroix  <sdelcroix@novell.com>
2085         * DateTime.cs:
2086         * DateTimeOffset.cs:
2087         * DateTimeUtils.cs: factored out the common pieces of DT and DTO into DTU.
2089 2007-12-18  Stephane Delcroix  <sdelcroix@novell.com>
2091         * DateTimeOffset.cs: implementing the 4 ToString overloads by reusing
2092         large chunks of System.DateTime code.
2094 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2096         * DateTimeOffset.cs: some bugfix discovered by unit tests.
2098 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2100         * DateTimeOffset.cs: almost complete implementation, still missing the
2101         Parse* and ToString methods.
2103 2007-12-11  Zoltan Varga  <vargaz@gmail.com>
2105         * AppDomain.cs (DoAssemblyResolve): Fix detection of whenever there is a
2106         reflection-only assembly resolve hook.
2108 2007-12-10  Stephane Delcroix  <sdelcroix@novell.com>
2110         * DateTimeOffset.cs: partial implementation. no longer just a stub.
2112 2007-11-30  Zoltan Varga  <vargaz@gmail.com>
2114         * Delegate.cs: Compute the Method property lazily.
2115         
2116         * Delegate.cs: Add a 'method' field.
2118         * Environment.cs: Bump corlib version.
2120 2007-11-21  Zoltan Varga  <vargaz@gmail.com>
2122         * Array.cs: Make the InternalArray_... methods internal.
2124         * Environment.cs: Bump corlib version.
2126 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2128         * AppDomain.cs : filled 2.0 API (extra ones are from 2.0 SP1).
2129         * ContextMarshalException.cs : obsolete in 2.0.
2131 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2133         * MarshalByRefObject.cs : Added MemberwiseClose() stub.
2134           GetLifetimeService() is not virtual (in both 2.0 and 1.1).
2135         * Console.cs : implemented missing 2.0 key members.
2137 2007-11-18  Gert Driesen  <drieseng@users.sourceforge.net>
2139         * Enum.cs: Provided ParamName of Argument(Null)Exceptions. Rewrote
2140         some exception messages.
2142 2007-11-16  Gert Driesen  <drieseng@users.sourceforge.net>
2144         * AppDomain.cs: Added some obsolete messages.
2146 2007-11-15  Gert Driesen  <drieseng@users.sourceforge.net>
2148         * MonoType.cs: Modified ParamName for ArgumentException to match
2149         MS. Provide meaningful exception messages. On 2.0, throw ANE instead
2150         of ArgumentException when args is null.
2152 2007-11-15  Zoltan Varga  <vargaz@gmail.com>
2154         * MonoType.cs (Invoke): Allow BindingFlags.SetField and
2155         BindingFlags.SetProperty to be specified together. Fixes #321735.
2157 2007-11-14  Miguel de Icaza  <miguel@novell.com>
2159         * Console.cs, ConsoleDriver.cs, TermInfoDriver.cs,
2160         TermInfoReader.cs, TermInfoNumber.cs, TermInfoStrings.cs,
2161         CStreamReader.cs, CStreamWriter.cs, NullConsoleDriver.cs,
2162         WindowsConsoleDriver.cs: In the 2.1 profile we do not need the
2163         full-blown Console (the terminal-addressable console) so we shrink
2164         it down to the basic 1.0 Console.
2166 2007-11-14  Marek Safar  <marek.safar@gmail.com>
2168         * Nullable.cs: Optimized to use generic comparers.
2170 2007-11-14  Zoltan Varga  <vargaz@gmail.com>
2172         * Array.cs (Copy): Throw InvalidCastException in more cases.
2174 2007-11-13  Zoltan Varga  <vargaz@gmail.com>
2176         * GCCollectionMode.cs GCLatencyMode.cs: New net 3.5 types.
2178 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2180         * NumberFormatter.cs : revert previous two changes. It does not
2181           really work for float and hence will rather bring confusion.
2183 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2185         * NumberFormatter.cs : limit the situation that needs roundtrip
2186           verification in the previous change to Double.
2188 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2190         * NumberFormatter.cs : applied a quick fix for bug #320433. It needs
2191           true fix to avoid extra perf. loss.
2193 2007-11-08  Sebastien Pouliot  <sebastien@ximian.com>
2195         * TimeZone.cs: Under 2.0 we must return a Local DateTime.MinValue.
2196         Fix the regression on the x86_64 bot which seems to be in it's own
2197         timezone.
2199 2007-11-07  Gert Driesen  <drieseng@users.sourceforge.net>
2201         * Exception.cs: Cosmetic change to default exception message on
2202         2.0 profile.
2204 2007-11-05  Gert Driesen  <drieseng@users.sourceforge.net>
2206         * Array.cs: Distinguish between notstarted and finished state when
2207         throwing IOE in Current, and provide meaningful exception message.
2209 2007-11-05  Sebastien Pouliot  <sebastien@ximian.com>
2211         * Array.cs: Fix Enumerator<T>.Reset (#322248).
2213 2007-11-05  Rodrigo Kumpera  <rkumpera@novell.com>
2215         * Type.cs (MakeGenericType): fix for #331199. If an user-defined type
2216         was used, the runtime would crash. Now we apply UnderlyingSystemType to
2217         all types before handling to the runtime.
2219 2007-11-05  Stephane Delcroix  <sdelcroix@novell.com>
2221         * TimeZone.cs: fix for #323911. The our after DST.Start is already DST.
2223 2007-11-03  Atsushi Enomoto  <atsushi@ximian.com>
2225         * DateTime.cs : fix for #330085. for Local time, convert to Utc
2226           before getting ticks.
2228 2007-11-03  Gert Driesen  <drieseng@users.sourceforge.net>
2230         * ArgumentException.cs: Change default message to match MS. Removed
2231         unnecessary check from Message, since base.Message can never be null.
2233 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2235         * DateTime.cs : ParseExact() should ignore 'K' when there is no
2236           character is left.
2238 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2240         * DateTime.cs : in roundtrip mode, 'Z' should turn the tick value to
2241           utc time and should not result in different ticks.
2242           Fixed bug #338064.
2244 2007-10-30  Miguel de Icaza  <miguel@novell.com>
2246         * UInt32.cs (Parse): Use Jeff Stedfast's parsing code which is
2247         smaller and does not need checked() constructs. 
2249         * Int64.cs, Int32.cs, Int16.cs: small tuneup: do not throw
2250         exception, instead return the exception like every other place in
2251         this code. 
2253         * Int16.cs, Int32.cs, Int64.cs: Use the Jeff Stedfast parsing code
2254         which is smaller.  We no longer use "checked" to check for
2255         overflows, I refactored some stuff and cleaned up the rest and
2256         fixes #331525.
2258 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
2260         * MonoType.cs: Applied patch from Mario A Chavez 
2261         <mario.chavez@gmail.com>. Add support for invoking members with the 
2262         ParamArray attribute. Fixes #336841.
2264 2007-10-26  Zoltan Varga  <vargaz@gmail.com>
2266         * MonoType.cs (InvokeMember): Make sure one operation is passed in the binding
2267         flags. Fixes #336936.
2269 Fri Oct 26 19:43:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
2271         * Environment.cs, String.cs: patch from Tyler Larson
2272         <mono-devel@tlarson.com> to fix the handling of the RemoveEmptyEntries
2273         option in string.Split (bug #322375).
2275 2007-10-26  Dick Porter  <dick@ximian.com>
2277         * Environment.cs: Bump version because of Thread initialisation
2278         changes
2280 2007-10-25  Lluis Sanchez Gual  <lluis@novell.com>
2282         * AppDomain.cs: In DefaultDomain, wrap the returned domain with
2283         a proxy if the current domain is not the root domain.
2285 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
2287         * Type.cs : implemented ReflectionOnlyGetType().
2289 2007-10-19  Zoltan Varga  <vargaz@gmail.com>
2291         * AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.
2293 2007-10-13  Zoltan Varga  <vargaz@gmail.com>
2295         * Delegate.cs (CreateDelegate): Allow binding instance methods to 
2296         delegates with an extra argument, a NET 2.0 feature. Fixes #333647.
2298 Fri Oct 12 08:11:50 CEST 2007 Paolo Molaro <lupus@ximian.com>
2300         * String.cs: reverted unapproved patch that breaks the build.
2302 2007-10-11  Joel Reed  <joelwreed@comcast.com>
2304         * String.cs: fix String.Split(char[],int,StringSplitOptions)
2305         with StringSplitOptions.RemoveEmptyEntries option. The correct 
2306         behavior is to remove empty entries while the string is being split, 
2307         and always return the maximum number of elements possible.
2308         Patch from: Tyler Larson <mono-devel@tlarson.com>
2309         
2310 2007-09-28  Jb Evain  <jbevain@novell.com>
2312         * Object.cs: Make ToString return Type.ToString ()
2313         by default instead of Type.FullName to match .net
2314         behavior. Fix #329419.
2316 2007-09-28  William Holmes  <billholmes54@gmail.com>
2318         * DateTime.cs: Check for AssumeUniversal when parsing string.
2319          Fixes bug #324845
2321 2007-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
2323         * Enum.cs: Use regular single quotes in exception message.
2325 2007-09-14  Paolo Molaro <lupus@ximian.com>
2327         * String.cs: implemented all the string ctors using CreateString
2328         methods, so they can run completely in managed code.
2330 2007-09-13  Marek Safar  <marek.safar@gmail.com>
2332         * DateTimeOffset.cs: Implemented few properties.
2334 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2336         * Decimal.cs, Math.cs : implemented midpoint rounding.
2338 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2340         * Activator.cs : implemented 2.0 CreateInstance()
2341           and CreateInstanceFrom () overloads.
2343 2007-09-12  Sebastien Pouliot  <sebastien@ximian.com>
2345         * Decimal.cs: More explicit text in exception (old and almost 
2346         forgetten patch on laptop ;-)
2348 2007-09-10  Atsushi Enomoto  <atsushi@ximian.com>
2350         * OperatingSystem.cs : implemented ISerializable.
2352 2007-08-28  Zoltan Varga  <vargaz@gmail.com>
2354         * DateTime.cs: Fix a warning.
2356 2007-08-25  Robert Jordan  <robertj@gmx.net>
2358         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2360 2007-08-25  Alan McGovern  <amcgovern@novell.com>
2362         * DateTime.cs: Reverted DateTime changes.
2364 2007-08-25  Robert Jordan  <robertj@gmx.net>
2366         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2368 2007-08-24  Zoltan Varga  <vargaz@gmail.com>
2370         * Array.cs: Fix min + max / 2 overflows in the BinarySearch and qsort methods.
2371         Fixes #82469.
2373 2007-08-23  Marek Safar  <marek.safar@gmail.com>
2375         * DateTimeOffset.cs: New .NET 3.5 struct for 2.0 mscorlib.
2376         
2377 2007-08-23  Eyal Alaluf <eyala@mainsoft.com>
2379         * DateTime.cs: Numerous improvements to DateTime.Parse. It handles a lot
2380           more possible formats and more correctly at that. It is also now easier
2381           to manage the formats DateTime.Parse supports.
2383 2007-08-17  Zoltan Varga  <vargaz@gmail.com>
2385         * Exception.cs: Make 1.0 and 2.0 object layout the same since this class is seen
2386         by the runtime. Fixes #82459.
2388 2007-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
2390         * MonoCustomAttrs.cs: In IsDefined, throw ArgumentNullException if
2391         attributeType is null to avoid a SIGSEGV (and match MS). Only partial
2392         fix for bug #82431 on 1.0 profile; it fully fixes the problem for the
2393         1.0 profile, but more changes (in the runtime) are required for the
2394         2.0 profile. Added a FIXME explaining the problem.
2396 2007-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
2398         * MonoCustomAttrs.cs: In IsDefined, only walk inheritance chain if
2399         both AttributeUsage.Inherited and inherit are true. Fixed bug #82431.
2401 2007-08-13  Gert Driesen  <drieseng@users.sourceforge.net>
2403         * ArgumentException.cs: Ignore zero-length ParamName for Message.
2404         Use ParamName property instead of field, since the property is marked
2405         virtual.
2406         * Array.cs: Provide more meaningful exception message when destination
2407         array is not long enough.
2409 2007-08-11  Zoltan Varga  <vargaz@gmail.com>
2411         * Array.cs: Implement InternalArray__set_Item. Fixes #82345.
2413 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2415         * IntPtr.cs : oops, do not ignore format in ToString(string).
2417 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2419         * GC.cs, Exception.cs, IntPtr.cs, Enum.cs, DateTime.cs, Convert.cs
2420           ConsoleKeyInfo.cs, String.cs, Object.cs, Attribute.cs,
2421           Version.cs : couple of cosmetic 2.0 API fixes.
2423 2007-08-06  Aaron Bockover  <abockover@novell.com>
2425         * Environment.cs (ReadXdgUserDir): Support the changes to the
2426         xdg-user-dirs spec that allow $HOME to start the path; also allows
2427         for quotes surrounding the path (Patch ported from Banshee,
2428         BGO #461596)
2430 2007-07-28  Miguel de Icaza  <miguel@novell.com>
2432         * MulticastDelegate.cs (Equals): do not cast to avoid exceptions,
2433         instead use the "as" operator, as pointed out by Jesse Jones'
2434         tool. 
2436 2007-07-21  Gert Driesen  <drieseng@users.sourceforge.net>
2438         * BitConverter.cs: Fixed exceptions to match MS. Fixed invalid use
2439         of ArgumentOutOfRangeException and ArgumentException ctors that take
2440         both parameter name and message. In ToString throws ArgumentException
2441         instead of ArgumentOutOfRangeException when length is negative, and
2442         return zero-length string when length is 0.
2444 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2446         * AppDomainSetup.cs : fix serialization regression.
2448 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2450         * AppDomainSetup.cs :
2451           MonoTODO AppDomainInitializer as its implementation is wrong.
2453 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2455         * AppDomainSetup.cs : added missing 2.0 members.
2456         * AppDomain.cs : support AppDomainInitializer.
2458 2007-06-06  Miguel de Icaza  <miguel@novell.com>
2460         * Int16.cs, UInt64.cs, SByte.cs, UInt16.cs, Byte.cs, Int32.cs,
2461         Int64.cs, UInt32.cs: Fix for 81775.
2463         I removed Parse from a Byte.cs and UInt16.cs as in various cases
2464         they still depended on UInt32.cs for parsing, there is no reason
2465         to keep all of this code duplicated (UInt64 is a different case
2466         though). 
2468         I was hoping for some feedback on whether my tests are correct,
2469         but so far no takers.
2471 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
2473         * ModuleHandle.cs: Implement the generic versions of the ResolveXXXHandle () methods.
2474         
2475         * ModuleHandle.cs: Add stubs for generic ResolveXXXHandle () methods.
2477 2007-07-10  Alan McGovern <amcgovern@novell.com>
2479         * Guid.cs: All whitespace should be trimmed from before and
2480         after a string passed into the Guid constructor. Fixes #81958
2482 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
2484         * RuntimeTypeHandle.cs: Fix signatures of == and != operators.
2486         * ModuleHandle.cs: Add missing 2.0 stuff.
2488 2007-07-08  Zoltan Varga  <vargaz@gmail.com>
2490         * *.cs: Add missing ComVisible attributes.
2492         * Delegate.cs: Add missing 2.0 CreateDelegate () methods.
2494 2007-07-07  Gert Driesen  <drieseng@users.sourceforge.net>
2496         * DateTime.cs: In ParseExact, throw ArgumentNullException if format
2497         is null; throw FormatException if formats array is empty or if one of
2498         items is null or a zero-length string.
2500 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2502         * Double.cs (Parse): Fix for string ending in garbaga, it was just ignoring it
2503         instead of throwing FormatException. Fixes #81777
2505 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2507         * Double.cs (Parse): Fix for whitespace only strings, it was returning zero 
2508         instead of throwing FormatException. Fixes #81630 
2510 2007-07-06  Alan McGovern  <amcgovern@novell.com>
2512         * DateTime.cs: If the format is null or empty, it should default to 'G'.
2513         Fixes bug 81778
2515 2007-07-06  Jonathan Chambers  <joncham@gmail.com>
2517         * __ComObject.cs: Support ExtensibleClassFactory.
2520 2007-07-06  Aaron Bockover  <abockover@novell.com>
2522         * Environment.cs (InternalGetFolderPath): Try reading some
2523         paths from ~/.config/user-dirs.dirs (XDG user dirs spec);
2524         always return something for MyPictures
2526 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
2528         * Type.cs : 2.0 TypeHandle and ContainsGenericParameters are virtual
2529           (required fix for 2.0 reflection API fixes).
2531 2007-06-22  Jonathan Chambers  <joncham@gmail.com>
2533         * __ComObject.cs: Move interface lookup to unmanaged.
2535 2007-06-21  Zoltan Varga  <vargaz@gmail.com>
2537         * Environment.cs: Bump corlib version.
2539         * Delegate.cs: Applied patch from Robert Jordan (robertj@gmx.net). Keep
2540         the dynamic method referenced by a delegate alive.
2542 2007-06-05  David Ferguson <davecferguson@gmail.com>
2544         * DateTime.cs: Changed DateTime.Parse() to throw a FormatException
2545           instead of an ArgumentOutOfRangeException for .NET 2.0.  An
2546           ArgumentOutOfRangeException is still thrown for .NET 1.1.
2547           Fixes bug #77633
2548           
2549 Mon Jun 4 14:52:17 CEST 2007 Paolo Molaro <lupus@ximian.com>
2551         * String.cs: optimized CompareOrdinal ().
2553 2007-06-02  Zoltan Varga  <vargaz@gmail.com>
2555         * MonoCustomAttrs.cs (GetBase): Revert last change as it breaks the build.
2556         
2557         * MonoCustomAttrs.cs (GetBase): Handle properties correctly. Fixes #81797.
2559 2007-05-31  Zoltan Varga  <vargaz@gmail.com>
2561         * Delegate.cs: Add invoke_impl field. Reorder fields for better cache behavior. Add
2562         SetMulticastDelegate icall.
2564         * MulticastDelegate.cs (CombineImpl): Call SetMulticastDelegate () on newly created
2565         delegate.
2567         * Environment.cs: Bump corlib version.
2568         
2569 2007-05-25  Jonathan Chambers  <joncham@gmail.com>
2571         * __ComObject.cs: Add overload to GetInterface to allow
2572         not throwing exceptions. Fixes as and is operators for COM objects.
2574 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2576         * Array.cs : reverting Array.cs fixes since the runtime depends on
2577           those method attributes.
2579 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2581         * Int16.cs UInt64.cs UIntPtr.cs Double.cs CrossAppDomainDelegate.cs
2582           ResolveEventHandler.cs IntPtr.cs UnhandledExceptionEventHandler.cs
2583           Void.cs AssemblyLoadEventHandler.cs SByte.cs UInt16.cs DateTime.cs
2584           Byte.cs TimeSpan.cs Decimal.cs Int32.cs Delegate.cs
2585           AppDomainInitializer.cs MulticastDelegate.cs Int64.cs
2586           EventHandler.cs Single.cs UInt32.cs AsyncCallback.cs :
2587           cosmetic attribute fixes (ComVisible/Serializable).
2589 2007-05-22  Atsushi Enomoto  <atsushi@ximian.com>
2591         * Convert.cs : completed 2.0 (ToBase64CharArray).
2592         * String.cs : removed MonoTODO.
2593         * DataMisalignedException.cs : removed extra .ctor().
2594         * Array.cs : internalize extra members. Fixed reliability contract.
2596 2007-05-17  Atsushi Enomoto  <atsushi@ximian.com>
2598         * DateTime.cs : added support for 'K'.
2600 2007-05-11  Jonathan Chambers  <joncham@gmail.com>
2602         * __ComObject.cs: No need to call CoInitialize anymore since
2603         Thread.ApartmentState was implemented.
2605 2007-05-11  Jeffrey Stedfast  <fejj@novell.com>
2607         Fixes bug #81540
2609         * TermInfoDriver.cs (WriteSpecialKey): Actually clear the screen
2610         and reset the cursor position to 0,0 when the key is
2611         ConsoleKey.Clear.
2612         (Clear): Reset the cursor position to 0,0
2614 2007-05-09  Marek Safar  <marek.safar@gmail.com>
2616         * MulticastDelegate.cs: Fixed operators logic.
2618 2007-05-09  Marek Habersack  <mhabersack@novell.com>
2620         * DateTime.cs: add a format used in ASP.NET QuickStarts 
2621           ("HH':'mm tt MM/dd/yyyy")
2623 2007-04-30  Zoltan Varga  <vargaz@gmail.com>
2625         * Type.cs (Equals): Allow a null argument.
2627 2007-04-27  Zoltan Varga  <vargaz@gmail.com>
2629         * Environment.cs (StackTrace): Avoid skipping a frame to be
2630         compatible with MS.
2632 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2634         * DateTimeTest.cs : looks like 'F' even removes preceding '.' ...
2636 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2638         * DateTime.cs : implemented new-2.0 'F' pattern letter.
2640 2007-04-24  Jeffrey Stedfast  <fejj@novell.com>
2642         Fixes the last of the bugs listed in bug #77525
2644         * TermInfoDriver.cs (ctor): For known terminal types, set color16
2645         to true (since we know they support 16 colours).
2646         (Init): set the setlfgcolor and setlbgcolor format strings.
2647         (BackgroundColor): Use the appropriate formatter string for
2648         setting the bgcolor.
2649         (ForegroundColor): Use the appropriate formatter string for
2650         setting the fgcolor.
2651         (TranslateColor): Now takes (and sets appropriately) an output
2652         'bool light' argument.
2654 2007-04-24  Marek Habersack  <mhabersack@novell.com>
2656         * TermInfoDriver.cs: don't include debug stuff by default - it
2657         breaks multithreaded applications (they all attempt to open
2658         console.log and fail because of sharing violation).
2660 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2662         * TermInfoDriver.cs (ReadKeyInternal): Since our input stream is
2663         buffered, check if it has more buffered input in addition to our
2664         timeout check. This makes it such that we will actually correctly
2665         match multi-char escape sequences.
2666         (Read): Changed the logic slightly wrt 'fresh' echoing. Once we
2667         encounter a fresh char, all chars afterward should also be
2668         considered 'fresh' even if 'fresh' is returned as false later.
2669         (ReadLine): Same logic here.
2671 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2673         Fixes bug #80702 (via getting rid of the casting) and more.
2675         The following change makes it such that even if an application
2676         calls Console.SetOut() with its own output stream, we can still
2677         properly echo user-input from stdin to the real stdout.
2679         * TermInfoDriver.cs (ctor): Grab a reference to the original
2680         Console.stdout so we can be sure we always echo to console.
2681         (QueueEcho): No need to cast Console.stdout anymore.
2682         (EchoFlush): Same.
2683         (WriteConsole: Here too.
2685 2007-04-20  Jeffrey Stedfast  <fejj@novell.com>
2687         * TermInfoDriver.cs (QueueEcho): Renamed from Echo(char). Use
2688         CStreamWriter's new InternalWriteChars().
2689         (Echo): Since we can no longer go thru CStreamWriter's ::Write()
2690         method that does checks for special keys, do the checks here
2691         instead - if it is a special key, flush the echo buffer and then
2692         write the special key.
2693         (EchoFlush): Also updated to use CStreamWriter's new
2694         InternalWriteChars().
2695         (Read): Use the Echo(key) variety.
2696         (ReadKey): Same.
2697         (ReadLine): And here too.
2699         * CStreamWriter.cs (InternalWriteChars): Write a char array
2700         directly to stdout. Do not pass Go, do not collect $200.
2702 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2704         Optimization for echoing keypresses back to the console when the
2705         user pastes a block of text rather than manually typing text.
2707         * TermInfoDriver.cs (Echo): A new convenience function for echoing
2708         characters/keys back to the console with an optimization twist and
2709         a bit of lime.
2710         (EchoFlush): Flush our pending echo queue
2711         (Read): Make use of Echo() both for convenience and for speed.
2712         (ReadLine): Same.
2713         (ReadKey): Make use of Echo()/EchoFlush() for simplicity of code,
2714         but we won't get the same optimization out of it.
2716 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2718         Fix for bug #81373.
2720         * TermInfoDriver.cs: Changed 'buffer' to be a char array instead
2721         of a byte array and stdin is now a StreamReader rather than a
2722         Stream.
2723         (Init): Setup stdin as a StreamReader using Console.InputEncoding
2724         as our encoding.
2725         (GetCursorPosition): Use stdin.Read() instead of the old
2726         ReadByte() code.
2727         (AddToBuffer): Updated to allocate the correct array type for
2728         'buffer'.
2729         (ReadKeyInternal): Updated to use stdin.Read() rather than
2730         stdin.ReadByte(). This is the main reason we needed to use chars
2731         instead of bytes. Characters entered by the user need to be
2732         represented as unicode chars and not bytes like before.
2733         (Match): Now takes a char[] buffer argument instad of byte[] and
2734         compares the input buffer to the byte-map as chars.
2736 2007-04-18  Jeffrey Stedfast  <fejj@novell.com>
2738         Fixes bug #81159: behave the same as mscorlib
2740         * TermInfoDriver.cs (ReadKeyInternal): Now has an 'out bool fresh'
2741         argument which is used to tell our caller if the key was freshly
2742         read from the console or pre-buffered.
2743         (Read): New implementation of Console.In.Read(char[], int, int)
2744         that behaves exactly like mscorlib's implementation.
2745         (ReadKey): Updated for the ReadKeyInternal() API change - only
2746         echo if the key was fresh.
2747         (ReadLine): Same.
2749         * CStreamReader.cs (Read): Call the new TermInfoDriver.Read()
2751 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2753         * CStreamWriter.cs (Write): Optimized this some more, we don't
2754         need a temporary buffer. Just blit chunks of the src buffer
2755         instead.
2757         * CStreamReader.cs (Read): Need to increment our array index so
2758         that we don't store each byte read into the same
2759         position. Discovered this while testing bug #81159 (which appears
2760         to work as expected with current svn, other than this buglet).
2762         * TermInfoDriver.cs (CursorTop::set): SetCursorPosition() sets our
2763         internal cursorTop variable, so no need to explicitly set it again
2764         after calling SetCursorPosition().
2765         (CursorLeft::set): Same idea here.
2767 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2769         * TermInfoDriver.cs (ReadLine): Implemented a workaround for
2770         IronPython going behind System.Console's back when writing text to
2771         the screen (it doesn't seem to use Console.stdout, instead it
2772         creates its own file stream or something which just so happens to
2773         write to the same file descriptor) by querying for the cursor
2774         position in ReadLine(), so we lose no real performance (since we
2775         have to wait for user input anyway).
2777 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2779         * TermInfoDriver.cs (Init): SetEcho(false), we'll be manually
2780         echoing from now on (ReadLine() has already been doing this, might
2781         as well make ReadKey() behave the same).
2782         (GetCursorPosition): No longer need to disable/re-enable echo
2783         anymore since it is now always false.
2784         (ReadKey): Manually echo the key back to the console just like
2785         ReadLine() has been doing (in the interest of consistancy) if
2786         intercept is false.
2787         (ReadLine): No longer need to disable/re-enable echo, echo is
2788         always off now. Also, fixed what appears to have been a typo.
2790 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2792         * TermInfoDriver.cs (IsSpecialKey): Oops, Enter should not be
2793         treated as a special key. Just update out cursor state here like
2794         we do with normal chars.
2795         (WriteSpecialKey): Enter is a no-op now because it is not treated
2796         as a special key anymore.
2798         * CStreamWriter.cs (Write): Only flush our buffer if j > 0
2800 2007-04-17  Jeffrey Stedfast  <fejj@gnome.org>
2802         Turns out my last patch was broken wrt handling some special keys
2803         like Backspace and anything else that changed the cursor position
2804         in some non-standard way.
2806         * CStreamWriter.cs (Write): Instead of calling NotifyWrite(), we
2807         instead need to check IsSpecialKey(), and, if so, flush whatever
2808         we have saved in our temporary buffer and then call
2809         WriteSpecialKey(). Otherwise go on as we did in the last patch.
2811         * TermInfoDriver.cs (NotifyWrite): Broken up into 2 functions:
2812         (IsSpecialKey): Returns true if we need to do some special voodoo
2813         for this key
2814         (WriteSpecialKey): Write the special key (using whatever voodoo
2815         necessary)
2817 2007-04-16  Jeffrey Stedfast  <fejj@gnome.org>
2819         * CStreamWriter.cs (Write): Instead of writing 1 char at a time,
2820         copy the bytes into a temporary char array (with a fixed max size)
2821         so that we can minimize the number of Write() calls we make on the
2822         underlying stream (and thus on the write() system call).
2824 2007-04-17  Alp Toker  <alp@atoker.com>
2826         * Array.cs: Make GetRank() icall private. Subclasses should use the
2827         public Rank property.
2829 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
2831         * WindowsConsoleDriver.cs: Get rid of unused Echo property.
2833         * NullConsoleDriver.cs: Get rid of Echo property.
2835         * IConsoleDriver.cs: Get rid of Echo property.
2837         * ConsoleDriver.cs (Echo::get/set): Removed, not needed.
2839         * TermInfoDriver.cs (Echo::get/set): Removed, this isn't necessary
2840         and is confusing.
2841         (ReadKey): If we are intercepting the key, call SetEcho (false)
2842         and then reset back to true after reading the key.
2843         (ReadLine): Same idea here.
2844         (GetCursorPosition): We no longer need to keep track of the
2845         previous echo state, we no longer have it :)
2847 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
2849         Fix for bug #80710 (and a bug I introduced in my last fix due to
2850         this code assuming the underlying term echo state was always
2851         false) and other buglets that I noticed.
2853         * TermInfoDriver.cs (ReadLine): Set (term) Echo to false as we do
2854         our own manual echoing which prevents ^H from getting displayed on
2855         the screen when the user hits backspace.
2856         (ReadLine): If the user hits Backspace and builder.Length is 0, DO
2857         NOT echo the backspace back to the console, ever.
2858         (ReadLine): Only echo characters back to the console if echo is
2859         set to true. Seems the Echo ConsoleDriver property is a Mono
2860         extension, and I'm assuming this is the intended behavior? I can't
2861         see what else the Echo property would be useful for...
2863 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
2865         Fixes bug #81050
2867         * TermInfoDriver.cs: Renamed the noEcho variable to echo, makes
2868         the logic cleaner/simpler/etc. Plus it was never actually used
2869         other than in the property methods which are called Echo.
2870         (Init): Call ConsoleDriver.SetEcho() with the 'echo' value -
2871         allows for a slight optimization if called from within the
2872         Echo::set property.
2873         (GetCursorPosition): Instead of calling the Echo property methods,
2874         call ConsoleDriver.SetEcho() directly to toggle echo off (if echo
2875         isn't already off, and then back on once we're finished getting
2876         the position - assuming the echo state is on, of course) - this
2877         avoids calling back into Init() which just felt dirty.
2878         (Echo::set): If the Echo state differs from our current state,
2879         call ConsoleDriver.SetEcho() with the new state (this is the
2880         important piece of the fix for bug #81050).
2881         (ReadKey): Simplified the echo logic to make it a bit clearer.
2882         (ReadLine): Same.
2884 2007-04-16  Marek Safar  <marek.safar@gmail.com>
2886         * Char.cs (IsLetter): Faster version.
2888 2007-04-15  Alp Toker  <alp@atoker.com>
2890         * Decimal.cs: Provide 2.0 Round() overloads using System.Math.
2892 2007-04-15  Alp Toker  <alp@atoker.com>
2894         * Activator.cs: CreateInstance(Type,object[]) was not params before
2895         2.0.
2897 2007-04-15  Alp Toker  <alp@atoker.com>
2899         * NonSerializedAttribute.cs: Inherited=false in 2.0.
2901 2007-04-05  Dick Porter  <dick@ximian.com>
2903         * Environment.cs: Increment mono_corlib_version
2905 2007-04-03  Alp Toker  <alp@atoker.com>
2907         * Array.cs: CreateInstance(Type,int[]) is params.
2908         * AppDomain.cs: ExecuteAssemblyByName(string,Evidence,string[]) is
2909         params.
2911 2007-04-03  Alp Toker  <alp@atoker.com>
2913         * Convert.cs:
2914         * Math.cs: Should be static classes in 2.0.
2916 2007-04-03  Alp Toker  <alp@atoker.com>
2918         * Delegate.cs: DynamicInvoke(object[]) is params in 2.0.
2920 2007-04-03  Alp Toker  <alp@atoker.com>
2922         * Delegate.cs: Combine(Delegate[]) is params in 2.0.
2924 2007-03-27  Dick Porter  <dick@ximian.com>
2926         * Environment.cs: Increment mono_corlib_version;
2928 2007-03-16  Miguel de Icaza  <miguel@novell.com>
2930         * BitConverter.cs: Revert the patch from 72237 as that introduces
2931         a regression and we are not sure yet what we will be doing about
2932         that.
2934         Introduce a new InternalInt64BitsToDouble method that provides the
2935         fixed functionality, mark it as internal.
2937         Introduce a new SwappableToDouble method that includes the
2938         swapping ToDouble routine as introduced by Zoltan on 72237, this
2939         is used by InternalInt64BitsToDouble.
2941         * Math.cs (IEEERemainder): Use the InternalInt64BitsToDouble
2942         routine here to preserve the semantics from Zoltan.  
2944         The problem with BitConverter.cs is that it is completely hossed.
2945         In .NET 1.1 it is a bitwise copy, no attempt is ever done to do
2946         endian-specific swapping.   In .NET 2.0 it is *almost* like that,
2947         but it is subtly broken: if data is unaligned then endian
2948         conversions happen.  If the data is properly aligned it behaves
2949         like 1.0.
2951         In general BitConverter is a sad class that offers little control,
2952         we will be introducing a new mono bit converter and encourage
2953         users to use that instead of the entirely broken
2954         System.BitConverter. 
2956 2007-03-11  Gert Driesen  <drieseng@users.sourceforge.net>
2958         * Delegate.cs: Fixed bootstrap build.
2960 2007-03-08  Gert Driesen  <drieseng@users.sourceforge.net>
2962         * StringComparer.cs: Renamed StringComparer classes and promoted them
2963         to top-level classes. Merged Ordinal and OrdinalIgnoreCase comparers.
2964         Fixes binary serialization compatibility with MS.
2966 2007-03-06  Zoltan Varga  <vargaz@gmail.com>
2967   
2968         * Type.cs (Equals): Remove a useless check.
2970         * Type.cs: Rename Type:Equals(Type) to EqualsInternal, and add support for checking
2971         UnderlyingSystemType. Fixes #81037.
2973 2007-03-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
2975         * TermInfoDriver.cs: adjust buffer indexes after *every* read. Fixes
2976         bug #80329. Robert Jordan attached a similar patch to the bug report
2977         but I didn't see it until after my commit...
2979 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
2981         * Enum.cs: The above patch makes the formatting for specifiers 'x'
2982         and 'X' behave like MS.NET, including the correct length for each
2983         possible underlying type, and correctly using capital letters for
2984         the 'X' case.
2986         Patch also includes some more test cases in EnumTests.cs.
2988 2007-02-25  Gert Driesen  <drieseng@users.sourceforge.net>
2990         * AppDomainSetup.cs: If configuration file is not an absolute path,
2991         then throw a MemberAccessException if ApplicationBase is not set,
2992         or otherwise consider it as a path relative to ApplicationBase.
2993         Fixes bug #80934. Patch provided by Jamie Cansdale.
2994         * AppDomain.cs: In CreateDomain, construct AppDomain with
2995         ApplicationBase of default domain if not explicitly set in specified
2996         AppDomainSetup. If config file is not set, then use filename of the
2997         default domain config file. Base on patch provided by Jamie Cansdale.
2999 2007-02-16  Sebastien Pouliot  <sebastien@ximian.com>
3001         * Random.cs: Fix exception messages ("then" -> "than"). Spotted by
3002         Mark A. Nicolosi (#80873).
3004 2007-02-12  Miguel de Icaza  <miguel@novell.com>
3006         * CStreamWriter.cs (Write with char []): take the lock once for
3007         all characters and call manually the InternalWriteChar properly to
3008         speed things up.
3010         (Write with string parameter): same thing, if the driver is not
3011         initialized use a fast path.
3013         If the driver has not been initialized, use a fast path instead. 
3015 Mon Feb 12 21:54:57 CET 2007 Paolo Molaro <lupus@ximian.com>
3017         * MonoType.cs: patch from Cedric Vivier <cedricv@neonux.com> to
3018         get correctly non-public fields from generic types.
3020 2007-02-08  Jonathan Chambers  <joncham@gmail.com>
3022         * __ComObject.cs: Add IUnknown field to object. Cleanup icalls.
3023         
3024 2007-02-03  Zoltan Varga  <vargaz@gmail.com>
3026         * BitConverter.cs (ToDouble): Fix this on big-endian machines.
3028 2007-01-30  Atsushi Enomoto  <atsushi@ximian.com>
3030         * TimeZone.cs: According to the docs, we should not throw when
3031         converting to Localtime if we are a negative value.  Instead we
3032         return DateTime.MinValue.
3034 2007-01-25  Atsushi Enomoto  <atsushi@ximian.com>
3036         * DateTime.cs : copy Kind in those members that return DateTime.
3037           Fixed bug #80614.
3039 2007-01-20  Miguel de Icaza  <miguel@novell.com>
3041         * Array.cs (InternalArray__ICollection_Contains,
3042         InternalArray__IndexOf): Cope with null values in the array (See
3043         bug #80563).
3045 2007-01-19  Marek Habersack  <grendello@gmail.com>
3047         * AppDomain.cs: Make sure that domain
3048         SetupInformation.ConfigurationFile is never null. MS.NET by
3049         default copies the default domain's ConfigurationFile value
3050         there. Fixes bug #80547.
3052 2007-01-14  Jensen Somers <jensen.somers@gmail.com>
3054         * ArraySegment.cs: Added Equals() method, operator == and !=
3055         overloading and GetHashCode().
3057 2007-01-10  Andy Hume <andyhume32@yahoo.co.uk>
3059         * Fixes to a number of exception classes.
3060         
3061         A project of mine uses #ctor(String,Exception) on 
3062         ObjectDisposedException, so I looked at adding that, and any 
3063         other similar constructors missing as per the class status report.
3064         
3065         I also spotted inconsistent setting of HResult, and fixed 
3066         those too.  For instance, ArgumentNullException sets HResult 
3067         only in three out of the four constuctors; not setting it in 
3068         the v2 (String,Exception) one -- and correctly not in the 
3069         Serialization constructor.
3070         
3071         
3072         So, I fixed the remaining missing (String,Exception) 
3073         constructors in corlib (2 of), and fixed the Hresult setting 
3074         in all exceptions there (4 of).
3075         
3076         The remaining Exception constructor omission listed was 
3077         InvalidCastException.ctor(System.String, System.Int32).  MSDN   says:
3078         "This constructor supplies an HRESULT value that is 
3079         accessible to inheritors of the InvalidCastException class, 
3080         via the protected HResult property of the Exception class."
3081         I added that method too, setting the HResult property from 
3082         the Int32 argument.
3084 2007-01-10  Atsushi Enomoto  <atsushi@ximian.com>
3086         * String.cs, StringComparer.cs : avoid extra string creation in
3087           StringComparer.OrdinalIgnoreCase.
3089 2007-01-05  Sebastien Pouliot  <sebastien@ximian.com>
3091         * DateTime.cs: Under 2.0 fix ParseExact to set DateTimeKind.Utc when
3092         DateTimeStyles.AdjustToUniversal is used.
3094 2007-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3096         * TermInfoDriver.cs: honor the backspace in ReadLine.
3098 2006-12-30  Marek Safar  <marek.safar@gmail.com>
3100         * String.cs: Character based method only.
3101         (IndexOf, LastIndexOf, Replace, IndexOfAny): Performance improvements.
3102         (Substring): Returns same instance when index is 0.
3104 2006-12-30  Alp Toker  <alp@atoker.com>
3106         * Decimal.cs:
3107         * Math.cs: Implement missing Decimal.Ceiling methods for 2.0.
3108         Closes #80384.
3110 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com> 
3112         * DateTime.cs: Implement missing [To|From]Binary methods for 2.0.
3113         * OperatingSystem.cs: Implement missing ServicePack and VersionString
3114         properties (2.0).
3115         * Version.cs: Add missing Major|MinorRevision properties for 2.0.
3117 2006-12-14  Raja R Harinath  <rharinath@novell.com>
3119         * Type.cs (MakeGenericType): Can only be called on a generic type
3120         definition.
3122 2006-12-03  Miguel de Icaza  <miguel@novell.com>
3124         * DateTime.cs: Fix this on the 2.0 profile, return the
3125         DateTimeKind for the Now property
3127 2006-12-01  Duncan Mak  <duncan@a-chinaman.com>
3129         * ArgumentOutOfRangeException.cs (.ctor): 
3130         * NotFiniteNumberException.cs (.ctor): Add the 2.0 constructor
3131         that takes a string and an inner Exception.
3133 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3135         * DateTime.cs :
3136           When comparing enumerations, two or more enumeration values might
3137           match. Thus basically we should do complete matching, but right
3138           now just do reverse order search since only numbered abbrev month
3139           names matter (and full iteration is a mess). Fixed bug #80094.
3141 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3143         * DateTime.cs :
3144           use new internal clone-less DateTimeFormatInfo members.
3146 2006-11-29  Martin Baulig  <martin@ximian.com>
3148         * INullableValue.cs: Removed.
3150 2006-11-28  Duncan Mak  <duncan@novell.com>
3152         * ArgumentNullException.cs (.ctor): Added new constructor that's
3153         new in .NET 2.0.
3155         * InsufficientMemoryException.cs: Added missing 2.0 exception.
3156         
3157 2006-11-27  Jonathan Chambers  <joncham@gmail.com>
3159         * __ComObject.cs: Removed IDispatchMono.
3160         
3161 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3163         * TermInfoDriver.cs:
3164         * Console.cs: lazy initialization of Console 2.0 (also when
3165         CancelKeyPress is used).
3167 2006-11-27  Miguel de Icaza  <miguel@novell.com>
3169         * Exception.cs (GetType): New method in 2.x, Another Moma catch. 
3171 Mon Nov 27 19:34:16 CET 2006 Paolo Molaro <lupus@ximian.com>
3173         * GC.cs: implemented the needed methods with icalls.
3175 2006-11-26  Miguel de Icaza  <miguel@novell.com>
3177         * Math.cs: Add Floor(Decimal d), for CreativeDocs.NET.
3179         Go Moma!  http://www.mono-project.com/Moma
3181         * Decimal.cs: Refactor code to implement TryParse.
3183         Also, avoid initializing messages on every call to stripStyles
3185 2006-11-22  Miguel de Icaza  <miguel@novell.com>
3187         * DateTime.cs: A small performance hit, we store the actual time
3188         span in a boxed object.   This way, it can be updated from other
3189         threads if necessary.   We always unbox to get the value before
3190         any potential updates. 
3192         Thanks to Gonzalo for catching this.
3194 2006-11-21  Miguel de Icaza  <miguel@novell.com>
3196         * TimeZone.cs (CurrentSystemTimeZone): Cache the current year
3197         daylight savings time in static variables.
3199         (CurrentSystemTimeZone.OnDeserialization): Initialize
3200         this_year_dlt and this_year on this method.
3202         (TimeZone): init statically the currentTimeZone instead of
3203         delaying that to the static property, avoiding a compare. 
3205 2006-11-22  Lluis Sanchez Gual  <lluis@novell.com>
3207         * Array.cs: (compare<T>) if a comparer is provided, it has
3208           priority over other comparison methods.
3210 2006-11-14  Miguel de Icaza  <miguel@novell.com>
3212         * Array.cs: TODOs will from now on be used to flag information
3213         that will be developer-visible, not to flag internal information
3214         that none of us reads or bothers about.
3216         For those, use "FIXME" strings in the source code instead. 
3218         * AppDomain.cs: Update to be more useful.
3220 2006-11-13  Atsushi Enomoto  <atsushi@ximian.com>
3222         * String.cs : fixed incorrect startIndex/length count in
3223           IndexOf(string,StringComparison).
3225 2006-11-07  Marek Safar  <marek.safar@gmail.com>
3227         * String.cs (LastIndexOf): If value is Empty, the return value is
3228         the start index position in value.
3230 2006-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3232         * TermInfoDriver.cs: prevent an invalid cast.
3234 2006-10-26  Marek Safar  <marek.safar@seznam.cz>
3236         * String.cs (Concat): Add fast-path for empty strings.
3238 2006-10-20  Jonathan Chambers  <joncham@gmail.com>
3240         * Variant.cs: Add support for bool and interfaces.
3241         
3242 2006-10-18  Kornél Pál  <kornelpal@gmail.com>
3244         * Type.cs: Removed is_subtype_of because IsSubclassOf should be used
3245           that is public and virtual. IsClass: Checking for ValueType is
3246           unnecessary. IsEnum: UnderlyingSystemType is not used anymore so
3247           no EnumBuilder hack is necessary. Checking for Enum is
3248           unnecessary. IsSerializable: Walk BaseType for user defined types.
3249           IsSubclassOf: Walk BaseType for user defined types.
3251         * MonoType.cs: IsValueTypeImpl is unnecessary. IsSubclassOf: Unlike
3252           Type system types throw ArgumentNullException on null Type
3253           argument.
3255 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
3257         * BadImageFormatException.cs: Changed message for default ctor to
3258         match MS. Use internal message field of Exception to check whether
3259         Message is null. Match MS default messages when no message is 
3260         set. Fixed ToString to match MS.
3262 2006-10-09  Miguel de Icaza  <miguel@novell.com>
3264         * Environment.cs: Handle SpecialFolder.MyMusic
3266 2006-10-07 Gert Driesen <drieseng@users.sourceforge.net>
3268         * Enum.cs: Use different exception message depending on whether the
3269         type of the passed in value is an Enum or not. Avoid looking up the
3270         enum's underlying type twice in case of "D" or "d" format specifier.
3272 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3274         * TermInfoDriver.cs: don't allow backspace if we're at the beginning
3275         position for a ReadLine.
3277 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3279         * TermInfoDriver.cs: ironpython autocompletion works now.
3281 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3283         * Console.cs: avoid casting on windows.
3285 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3287         * ConsoleDriver.cs:
3288         * TermInfoDriver.cs:
3289         * IConsoleDriver.cs:
3290         * CStreamWriter.cs:
3291         * ConsoleKeyInfo.cs:
3292         * NullConsoleDriver.cs:
3293         * Console.cs:
3294         * CStreamReader.cs:
3295         * WindowsConsoleDriver.cs: initial changes to handle cursor position
3296         and screen buffers.
3298 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3300         * ArithmeticException.cs: Modified default message to match MS, to
3301         ensure a local regression test passes on both Mono and .NET.
3303 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3305         * Exception.cs: Marked message internal to allow derived classes to
3306         access the raw message (without changing the public API).
3308 2006-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3310         * ConsoleDriver.cs:
3311         * TermInfoDriver.cs:
3312         * IConsoleDriver.cs:
3313         * Console.cs:
3314         * WindowsConsoleDriver.cs: don't switch to the alternate window.
3315         Trigger the cancel event. Retrieve the cursor position at the
3316         beginning, as we're going to keep track of it instead of querying it
3317         all the time.
3319 2006-09-14  Jonathan Chambers  <joncham@gmail.com>
3321         * Environment.cs (ProcessorCount): Implement as icall.
3322         Patch by Jason McFall.
3324 2006-09-05  Raja R Harinath  <rharinath@novell.com>
3326         * DateTime.cs (Today) [NET_2_0]: Set kind to Local.
3328 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
3330         * Enum.cs (Equals): Use the generic Equals implementation from ValueType which
3331         is faster and avoids allocations.
3333 2006-09-01  Martin Baulig  <martin@ximian.com>
3335         * Array.cs (Array.InternalArray): Removed the helper class;
3336         instead we use private generic methods in System.Array which are
3337         inserted into the vtable at runtime.
3339 2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3341         * ConsoleCancelEventArgs.cs: fix my build.
3343 2006-08-22  Miguel de Icaza  <miguel@novell.com>
3345         * MulticastDelegate.cs: Make DynamicInvokeImpl internal in 2.0 
3347         * Converter.cs: update signature to final.
3349         * ModuleHandle.cs: Removed the [Obsolete] flags as they removed
3350         those in the final 2.0
3352         * DateTime.cs: Fixed the signature. 
3354         * Convert.cs: Removed API calls that were deprecated in final 2.0
3356         * Enum.cs: Updated to use the obsoletes flagged in 2.0.
3358         * ConsoleCancelEventArgs.cs: Updated to 2.0
3360 2006-08-19  Miguel de Icaza  <miguel@novell.com>
3362         * Attribute.cs: This needs to do a deep compare, not a shallow
3363         one.   Ran into this bug with the VBNC compiler that compares two
3364         separate attributes for equality using this.
3366         * String.cs (StartsWith): Fix the overloaded constructor that
3367         takes a CultureInfo, if that is null, it means to use the current
3368         culture. 
3370         * TermInfoDriver.cs: Do not throw exceptions on the driver for
3371         SetWindowSize and SetWindowPosition, they can be treated as nops.
3373 2006-08-18  Zoltan Varga  <vargaz@gmail.com>
3375         * *.cs: Use String.Empty instead of "" in a lot of places.
3377 2006-08-17  Sebastien Pouliot  <sebastien@ximian.com>
3379         * DateTime.cs: Remove last patch to DateTime as the fix wasn't correct
3380         and made most x.509 unit tests fails. However the original problem is 
3381         back (only on 2.0).
3383 2006-08-14  Raja R Harinath  <rharinath@novell.com>
3385         Fix #78943
3386         * Activator.cs (CreateInstance): Throw ArgumentException on open
3387         generic types.
3389 2006-08-14  Miguel de Icaza  <miguel@novell.com>
3391         * MonoType.cs: Do the argument testinf for SetField later,
3392         otherwise the implicit (and not documented, but already considered
3393         side effect of checking SetProperty) did not work.
3395         Bug fix #79023
3397 2006-08-13  Atsushi Enomoto  <atsushi@ximian.com>
3399         * String.cs : Normalize() and IsNormalized() implementation.
3401 2006-08-10  Jonathan Chambers  <joncham@gmail.com>
3403         * __ComObject.cs: Added defintion of IDispatch interface, and
3404         property. Get CLSID of supertype for creation if class not
3405         ComImport attributed (allows for inheritance of RCW).
3406         * MonoType.cs: Implement IsCOMObjectImpl.
3408 2006-08-09  Atsushi Enomoto  <atsushi@ximian.com>
3410         * DateTime.cs : fixed X509Certificate() case that regressed only
3411           under NET_2_0.
3413 2006-08-07  Kornél Pál  <kornelpal@gmail.com>
3415         * Console.cs: Use correct code pages on Windows and initialize
3416           InputEncoding and OutputEncoding to the actual encodings used.
3418 2006-08-05  Duncan Mak  <duncan@novell.com>
3420         * Char.cs (TryParse): Implemented missing 2.0 method, which fixed
3421         bug #79007.
3423 2006-07-28  Jonathan Chambers  <joncham@gmail.com>
3425         * __ComObject.cs: Added support for marshalling objects.
3426         
3427 2006-07-24  Atsushi Enomoto  <atsushi@ximian.com>
3429         * Char.cs : implemented utf32 conversion methods thus fixed bug #78856.
3431 2006-07-19  John Luke  <john.luke@gmail.com>
3433         * TermInfoDriver.cs: switch order of alt and control when
3434         calling new ConsoleKeyInfo()
3436 2006-07-19  Kornél Pál  <kornelpal@gmail.com>
3438         * String.cs: Improve CreateString () performance when length is zero.
3440 2006-07-18  Kornél Pál  <kornelpal@gmail.com>
3442         * String.cs: Added CreateString () methods. Constructors with matching
3443           argument list are redirected to these methods that improves
3444           performance as well as fixes bug #78703.
3446 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
3448         * __ComObject.cs: Begin implementing COM Interop.
3449         * Environment.cs: Increment corlib version.
3450         
3451 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
3453         * Delegate.cs (DynamicInvokeImpl): Add support for bound delegates in Net 2.0.
3455 2006-07-11  Zoltan Varga  <vargaz@gmail.com>
3457         * Double.cs (Parse): Fix handling of inner whitespace.
3459 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
3461         * Int32.cs: Fix a warning.
3463 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
3465         * TimeZone.cs : consider DateTimeKind in ToLocalTime() and 
3466           ToUniversalTime(). Fixed bug #78784. Patch by Thong Nguyen.
3467         * DateTime.cs : DateTimeKind for UtcNow should be Utc.
3469 2006-06-28  Kornél Pál  <kornelpal@gmail.com>
3471         * Char.cs: Implemented IsHighSurrogate and IsLowSurrogate methods.
3473 2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
3475         * Double.cs : don't throw Exception in TryParse() for 'E'.
3476           Fixed bug #78546.
3478 2006-06-20  Jb Evain  <jbevain@gmail.com>
3480         * Math.cs: implement Math.Truncate.
3482 2006-06-13  Atsushi Enomoto  <atsushi@ximian.com>
3484         * DateTime.cs :
3485           Another lame win32 dependent pattern. Fixed bug #78618.
3487 2006-06-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
3489         * Environment.cs: Implement Set/GetEnvironmentVariable for User/Machine.        
3491 2006-06-07  Kornél Pál  <kornelpal@gmail.com>
3493         * Environment.cs: Use Consts.FxFileVersion for Environment.Version
3494           as Consts.RuntimeVersion was removed.
3496 2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
3498         * Variant.cs: Added.
3499         * Environment.cs: Incremented corlib version since adding Variant.      
3500         
3501 2006-06-01  Raja R Harinath  <rharinath@novell.com>
3503         * Nullable.cs (operator==, operator!=): Remove.
3505 2006-05-31  Zoltan Varga  <vargaz@gmail.com>
3507         * MonoDummy.cs: Removed as it is no longer needed.
3509         * Environment.cs: Bump corlib version.
3510         
3511         * Environment.cs: Revert the last change.
3512         
3513         * Environment.cs: Bump corlib version.
3515         * MonoAsyncCall.cs: New file.
3517 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
3519         * Char.cs: Removed duplicate (explicit) interface implementation.
3520         * String.cs: Removed duplicate (explicit) interface implemenation.
3521         * MulticastDelegate.cs: Fixed API mismatches.
3523 2006-05-29 Paolo Molaro <lupus@ximian.com>
3525         * String.cs: make sure that the chars truncated by a stringbuilder
3526         are zeroed.
3528 2006-05-29  Martin Baulig  <martin@ximian.com>
3530         * Exception.cs
3531         (Exception.StackTrace): Use the new stack trace format which is
3532         very similar to the one of MS.NET - method name goes first,
3533         file / line number last and in the method name, we separate class
3534         and method name by `.'.
3536         * Environment.cs
3537         (Environment.StackTrace): Enable line-number information.
3539 2006-05-24  Atsushi Enomoto  <atsushi@ximian.com>
3541         * DateTime.cs :
3542           Implement 2.0 TryParseExact(). Patch by Seo Sanghyeon.
3544 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
3546         * Array.cs : added internal sort method used
3547           in System.Collections.Generics.List<T>.Sort(Comparison<T>).
3549 2006-05-15  Zoltan Varga  <vargaz@gmail.com>
3551         * Environment.cs: Bump corlib version.
3553 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
3555         * MonoType.cs (GetMethodImpl): Fix a warning.
3557 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
3559         * ArrayTest.cs : use proper comparer in IndexOf() and LastIndexOf().
3560           Patch by Kazuki Oikawa. Fixed bug #77277.
3562 2006-05-07  Zoltan Varga  <vargaz@gmail.com>
3564         * Nullable.cs (Equals): Fix comparison to null. Fixes #78322.
3566 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
3568         * Nullable.cs : updated Nullable<T> API to 2.0 RTM.
3570 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3572         * Double.cs : (Parse) handle currency symbol when
3573           AllowCurrencySymbol is passed as part of the style. Patch by
3574           nede@aliquant.com, modified to eliminate redundant Substring().
3575           This fixes bug #77721.
3577 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3579         * MonoType.cs : (GetMethod) when zero-length type[] is explicitly
3580           passed, don't return methods with some arguments. Fixed bug #77367.
3582 2006-04-21  Gert Driesen  <drieseng@users.souceforge.net>
3584         * Enum.cs: Provide meaningful message when type of passed in value
3585         does not match enum type.
3587 2006-04-19  Raja R Harinath  <rharinath@novell.com>
3589         * Char.cs (Equals): Don't access 'm_value' field of other
3590         instances.  Cast directly to 'char'.
3592 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3594         * DateTime.cs : implement SpecifyKind(). Patch by Thong Nguyen.
3596 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3598         * NumberFormatter.cs : general performance improvements. Avoid 
3599           extraneous evaluation for simple formatting. Details are seen in 
3600           bug #77792. Patch by Kazuki Oikawa.
3602 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3604         * DateTime.cs : implement IsDaylightSavingTime().
3605           Patch by Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>.
3607 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
3609         * Array.cs :
3610           added some more [ReliabilityContract].
3611           removed some [CLSCompliant].
3612           renamed generic method parameter names.
3614 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
3616         * Environment.cs (SetEnvironmentVariable): Implement.
3618 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3620         * Array.cs : oops, the last change caused regression. The array must
3621           be transparent to ReadOnlyCollection, not create another list.
3623 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3625         * Array.cs : AsReadOnly<T>() in RTM returns ReadOnlyCollection<T>.
3626           Thus removed ReadOnlyArray<T> and ReadOnlyArrayEnumerator<T>.
3627           In 2.0 some members became non-virtual.
3629 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3631         * String.cs : oops, NET_2_0.
3633 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3635         * String.cs : added new IndexOf() and LastIndexOf() overloads, and
3636           IEnumerable<char>.GetEnumerator().
3638 2006-03-21  Kornél Pál  <kornelpal@gmail.com>
3640         * String.cs: Make memcpy4 private as it is a helper method.
3641           Make memcpy internal to can be used from UnicodeEncoding.
3643 2006-03-19  Marek Safar  <marek.safar@seznam.cz>
3645         * Nullable.cs (Compare, Equals): Added constrain as gmcs now correctly
3646         reports an error here.
3648 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
3650         * Double.cs : (Parse) reject String.Empty.
3652 Wed Mar 15 16:30:51 CET 2006 Paolo Molaro <lupus@ximian.com>
3654         * LocalDataStoreSlot.cs: implement as index in an array.
3655         Implemented finalizer and allow it to remove the data stored
3656         in the slot.
3658 2006-03-15  Zoltan Varga  <vargaz@gmail.com>
3660         * Environment.cs: Bump corlib version.
3662 2006-03-10  Zoltan Varga  <vargaz@gmail.com>
3664         * MonoCustomAttrs.cs (IsDefined): Avoid a runtime assert if a type
3665         overwrites GetCustomAttributes () but not IsDefined ().
3667 2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
3669         * Environment.cs: Bumped corlib version to 48 (due to r57532)
3671 2006-03-07  Martin Baulig  <martin@ximian.com>
3673         * String.cs (String.FormatHelper): Try getting an `ICustomFormatter'
3674         from the `provider' if possible.
3676 2006-02-26  Gert Driesen  <drieseng@users.souceforge.net>
3678         * DecimalFormatter.cs: Removed obsolete class, as it has been replaced
3679         by NumberFormatter.
3680         * DoubleFormatter.cs: Same.
3681         * SingleFormatter.cs: Same.
3683 2006-02-21  Marek Safar  <marek.safar@seznam.cz>
3685         * String.cs (Equals): Optimized for speed.
3687 2006-02-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3689         * TermInfoDriver.cs: patch by Mike Hull that fixes bug #77518.
3691 Mon Feb 20 11:19:54 CET 2006 Paolo Molaro <lupus@ximian.com>
3693         * MonoType.cs: patch from Joachim Ante <joe@otee.dk> to
3694         improve error messages.
3696 2006-02-15  Martin Baulig  <martin@ximian.com>
3698         * Type.cs (Type.IsGenericInstance): Removed.
3700 2006-02-14  Ankit Jain  <jankit@novell.com>
3701             Raja R Harinath  <rharinath@novell.com>
3703         * ArraySegment.cs (.ctor): Fix bounds check. Rename param 'length' to
3704         'count'.
3706 2006-02-11  Zoltan Varga  <vargaz@gmail.com>
3708         * TermInfoDriver.cs (CreateKeyInfoFromInt): Fix handling of tab and its
3709         friends.
3710         
3711         * TermInfoDriver.cs (GetWindowDimensions): Obtain the exact terminal
3712         size using an icall.
3713         (GetCursorPosition): Convert the row and column to 0 based indexing. 
3714         Also fix reading of large values.
3715         (CreateKeyInfoFromInt): Convert LF to ConsoleKey.Enter.
3717         * ConsoleDriver.cs (GetTtySize): New icall.
3719 2006-02-10  Zoltan Varga  <vargaz@gmail.com>
3721         * Array.cs: Fix some methods which previously returned Nullable<T>.
3723         * Nullable.cs: Add T: struct constraint and fix constructor.
3725 Fri Feb 3 11:01:46 CET 2006 Paolo Molaro <lupus@ximian.com>
3727         * String.cs: changed StartsWith/EndsWith to faster versions.
3729 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3731         * String.cs: implement 2.0 StartsWith and EndsWith new overloads. Based
3732         on a patch by Thong Nguyen.
3734 2006-01-31  Zoltan Varga  <vargaz@gmail.com>
3736         * String.cs: Implement one of the new net 2.0 Split methods.
3738 2006-01-31  Atsushi Enomoto  <atsushi@ximian.com>
3740         * String.cs : (LastIndexOf) Fixed bug #77412. It should not expect
3741           that value length is bigger than its index.
3743 2006-01-27  Zoltan Varga  <vargaz@gmail.com>
3745         * DateTime.cs: Add some 2.0 methods and properties.
3747 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3749         * Console.cs: if InternalCodePage returns -1, use the default encoding.
3750         Also match the UTF8 one properly. Patch by wall_john@sohu.com.
3752 2006-01-19  Atsushi Enomoto  <atsushi@ximian.com>
3754         * ModuleHandle.cs : GetPEKind() is not public in 2.0 RTM.
3756 2006-01-16  Alp Toker  <alp@atoker.com>
3758         * TimeSpan.cs: Simple implementation of NET 2.0 TryParse() using
3759         try/catch
3761 2006-01-05  Raja R Harinath  <rharinath@novell.com>
3763         Fix regressions introduced by the fix to #71300.
3764         * Activator.cs (CreateInstance): Use Binder.SelectMethod instead
3765         of home-grown FindBestCtor.
3766         (FindBestCtor): Delete.
3768 2006-01-03  Zoltan Varga  <vargaz@gmail.com>
3770         * Nullable.cs: Update to Net 2.0 RTM.
3771         
3772         * Nullable.cs: Add comments about runtime dependencies on the layout of
3773         this type.
3775 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
3777         * Activator.cs: Now find the best ctor when null are used for 
3778         paramaters. Fix bug #71300. Added checks for specific types (void,
3779         TypedReference, ArgIterator and RuntimeArgumentHandle).
3780         * Console.cs: Re-use Environment logic to detect Windows.
3781         * Type.cs: Re-applied r45150 as the real bug was in Activator.
3783 2006-01-02  Zoltan Varga  <vargaz@gmail.com>
3785         * Activator.cs: Add a 'params' to one of the CreateInstance overloads.
3787         * RuntimeTypeHandle.cs RuntimeMethodHandle.cs RuntimeFieldHandle.cs:
3788         Add == and != operators.
3790 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
3792         * Environment.cs: Bump corlib version to 46.
3793         * TimeZone.cs: Partial fix for #76094. Added [Serializable] attribute 
3794         and renamed internal CurrentTimeZone class to CurrentSystemTimeZone 
3795         (like MS). This allows serialization roundtrip to work in Mono but 
3796         there's still an issue when deserializing a stream from MS. 
3798 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com> 
3800         * NumberFormatter.cs: Fixed rounding for float and the string output
3801         now includes all the precision (not counting preceding zeros). This
3802         fix the DecimalTest.TestConstructSingleRounding_NotWorking test cases.
3804 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
3806         * Array.cs: Fixed Sort<T> with IComparable (generic or not) bug #77039
3808 2005-12-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
3810         * Array.cs: Added the Sort<T> methods (generics). 
3812 2005-12-19  Sebastien Pouliot  <sebastien@ximian.com> 
3814         * Array.cs: Fixed BinarySearch when the array is empty (#77030). Added
3815         some null check which throws ArgumentNullException under 2.0.
3817 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
3819         * DateTime.cs: Added MonoTODO to ctor accepting a Calandar instance.
3820         * Double.cs: Under 2.0 throw a ArgumentException when parsing with
3821          NumberStyles.AllowHexSpecifier. Partial fix for #72221. Added the
3822         second, simpler, TryParse method (2.0).
3823         * Single.cs: Added the TryParse methods for 2.0.
3825 2005-12-15  Raja R Harinath  <rharinath@novell.com>
3827         * Type.cs (IsGenericType): Make virtual.
3829 2005-12-08  Sebastien Pouliot  <sebastien@ximian.com> 
3831         * AppDomainSetup.cs: ApplicationBase throw exception on get (not on 
3832         set). New behaviour is more like MS - but most issues (unit tests)
3833         were really path issues. Fix bug #71291.
3834         * DateTime.cs: Add more information when throwing an exception in 
3835         ctor(long). Useful for debugging.
3837 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
3839         * Single.cs Double.cs: Fix warnings.
3841 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
3843         * Convert.cs: ToBase64String method didn't use the option parameter so
3844         we always included new lines. Fix bug #76876.
3846 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
3848         * AppDomainSetup.cs: Added missing ComVisible and removed LAMESPEC 
3849         (the docs were fixed).
3850         * NumberFormatter.cs: Fixed the "NotWorking" case where 1.15 was 
3851         misrounded compared to MS implementation. Extra care is required when
3852         dealing with the extra 2 digits information (e.g. double precision is
3853         15 digits but 17 are kept - for a reason ;-)
3855 2005-12-05  Ben Maurer  <bmaurer@ximian.com>
3857         * Environment.cs: Bump version
3859         * Nullable.cs: New Box and Unbox methods for the jit
3861 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
3863         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
3864           list does not have enum value 0 as the first item. Fixes #76921
3866 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
3868         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
3870 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
3872         * Double.cs: remove unused icall.
3873         * BitConverter.cs: handle double binary format on ARM FPA.
3875 2005-12-02  Alp Toker  <alp@atoker.com>
3877         * MonoType.cs:
3878         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
3880 2005-12-02  Alp Toker  <alp@atoker.com>
3882         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
3883         ReflectionOnlyAssemblyResolve in 2.0 final
3885 2005-12-01  Alp Toker  <alp@atoker.com>
3887         * String.cs: Add static and non-static Equals(... StringComparison) for
3888         2.0.
3890 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3892         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
3894 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3896         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
3897         have to add 1 to x and y when setting the cursor position.
3898         Fixes bug #76856.
3900         * Convert.cs: remove unused variables.
3902 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
3904         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
3905         with large numbers.
3907 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
3909         * Convert.cs: fix endianess issue when converting to base-8
3910         format. All the base code would need a rewrite for efficience.
3912 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
3914         * String.cs: Added support for Compare(... StringComparison) in 2.0.
3916 2005-11-25  Alp Toker  <alp@atoker.com>
3918         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
3920 2005-11-17  Dick Porter  <dick@ximian.com>
3922         * Environment.cs: Incremented corlib version
3924 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
3926         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
3927         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
3928         methods to return the exception as an out parameter,
3929         instead of throwing it. This will be of special help
3930         to TryParse methods.
3931         * Environment.cs: Update corlib version to 42.
3932         
3933 2005-11-14  Raja R Harinath  <rharinath@novell.com>
3935         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
3937 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
3939         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
3941 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
3943         * TimeZone.cs: Removed incorrect double-check lock and unneeded
3944         hashtable access.
3946 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
3948         * Type.cs: IsNested implemented, signature fixes.
3950 2005-11-11  Raja R Harinath  <rharinath@novell.com>
3952         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
3954 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
3956         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
3957         as well to avoid copying the whole array.
3959 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
3961         * Int64.cs : ditto for long.
3963 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
3965         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
3967 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
3969         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
3970         in 2.0 profile.
3971         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
3972         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
3973         already replaced by Backspace and Whitespace)
3974         * DateTime.cs: Moved DayOfWeek enum to it's own file.
3975         * DateTimeKind.cs: New (2.0) enum.
3976         * DayOfWeek.cs: New file (extracted from DateTime.cs).
3977         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
3978         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
3979         values (-1 to all of them).
3980         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
3981         GetObjectData method.
3982         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
3983         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
3984         profile.
3985         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
3986         profile.
3987         * StringComparison.cs: New (2.0) enum (needed for Uri).
3988         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
3989         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
3990         profile.
3992 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
3994         * Type.cs : I forgot to mention, some '(' were missing in the
3995           improved patch ;-)
3997 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
3999         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
4000         IsSerializable property, since the latter returns true for delegates/enums.
4002 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
4004         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
4005           makes maintenance easier.
4007 2005-10-24  Martin Baulig  <martin@ximian.com>
4009         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
4011 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4013         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
4015 2005-10-20  Raja R Harinath  <rharinath@novell.com>
4017         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
4019 2005-10-16  Michal Moskal  <malekith@nemerle.org>
4021        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
4023 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
4025         * DateTime.cs : another crappy Windows dependent format.
4027 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
4029         * DateTime.cs: Speed up when parsing date time objects by not
4030         duplicating cultureinfo arrays.
4032 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
4034         * Type.cs (GetTypeCode): Applied patch from 
4035         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
4036         passed in.
4038 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
4040         * Delegate.cs: Add support for delegate covariance and contravariance
4041         from net 2.0.
4043 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
4045         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
4047 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
4049         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
4050         #76204.
4052 2005-09-23  Miguel de Icaza  <miguel@novell.com>
4054         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
4056 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
4058         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
4059         attributeType parameter.
4060         (IsDefined): New icall.
4062         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
4063         object when only a specific attribute type is requested. Fixes #76062.
4065         * Environment.cs: Bump corlib version.
4067 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
4069         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
4071 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4073         * DateTime.cs : (_DoParse) don't check ticks range before computing
4074           the actual value. Fixed bug #76082.
4076 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4078         * TimeZone.cs : When the target DateTime is in the range of
4079           DST end to DST + delta, don't adjust UtcOffset gap between that of
4080           DST and that of STD. This should fix bug #75985.
4082 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4084         * TimeZone.cs, DateTime.cs :
4085           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
4086           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
4087           - use ToLocalTime() and don't depend on the own offset computation.
4088             Parse() with 'Z' pattern is closer to correct value on switching
4089             Daylight Saving Time. See bug #75985.
4091 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4093         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
4094           handled as expected and it kept time value as local one.
4095           Patch by Brion Vibber. Fixed bug #75995.
4097 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4099         * DateTime.cs : Literal escape (\) was not checking format as
4100           expected. Fixed bug #75213.
4102 2005-09-05  Miguel de Icaza  <miguel@novell.com>
4104         * MonoType.cs: Patch from Jonathan Chambers to implement
4105         Type.GUID. 
4107 2005-09-05  Martin Baulig  <martin@ximian.com>
4109         Reflect latest API changes in the August CTP.
4111         * Type.cs (Type.HasGenericArguments): Removed.
4112         (Type.BindGenericParameters): Renamed to MakeGenericType().
4114 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
4116         * DateTime.cs : another idiotic COM dependent format.
4118 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
4120         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
4121         Added some comments about the class.
4123 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
4125         * AppDomain.cs: Use the more concise property syntax for declarative
4126         security.
4127         * AppDomainManager.cs: Default HostSecurityManager is null.
4129 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
4131         * NumberFormatter.cs : eliminate non-ASCII character.
4133 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
4135         * Enum.cs: Better exception message.
4136         
4137 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
4139         * Convert.cs: In FromBase64String, return empty byte array for zero
4140         length string. Pass bool to InternalFromBase64String to control 
4141         whether to allow a whitespace-only string.
4142         * Environment.cs: Bump corlib version.
4144 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
4146         * Environment.cs: Bump corlib version.
4148 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
4150         * Math.cs: Implement a new 2.0 Round method.
4152 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
4154         * Convert.cs: Throw OverflowException if result is larger than
4155         ushort.MaxValue to match MS.NET. Remove commented code.
4157 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4159         * Convert.cs: For now, do not throw OverflowException if hex prefixed
4160         value is negative for signed types (other than int64). Need to look
4161         into this further.      
4163 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4165         * Convert.cs: Numerous fixed in overloads taking base to match 
4166         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
4167         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
4168         character is a negative sign. Throw OverflowException if hex prefixed 
4169         value is negative for signed types (other than int64) to match MS.NET. 
4171 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4173         * DateTime.cs : added another COM dependent pattern (rather to describe
4174           how it works on .NET than to add the pattern itself...).
4176 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4178         * DateTime.cs : added case for bug #53023.
4180 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
4182         * Type.cs: Add IsGenericType property from NET 2.0.
4184 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
4186         * String.cs : added new StartsWith()/EndsWith() override, fixing
4187           existing EndsWith() which incorrectly assumed that both string
4188           lengths must be equivalent (they are not always equal).
4189         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
4191 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
4193         * String.cs: Implement Split(String[]) methods.
4195 2005-08-09  Miguel de Icaza  <miguel@novell.com>
4197         * AppDomainSetup.cs: Full-pathization of the appBase should only
4198         be done on Windows, the ":" condition never applied to Linux.
4200         * ConsoleKey.cs: Include a few aliases for a few values that were
4201         introduced recently.
4203 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4205         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
4206         Fixes bug #75697.
4208 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
4210         * String.cs : (StartsWith) compared string lengths are not always the
4211           same in culture-sensitive comparison.
4213 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
4215         * Array.cs: Changed protected ctor to private. Fixes API compatibility
4216         with MS.NET.
4217         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
4218         be exposed in 2.0 profile.
4219         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
4220         be exposed in 2.0 profile.
4221         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
4222         be exposed in 2.0 profile.
4223         * Type.cs: Added GetType method and implemented _Type interface.
4224         Fixes API compatibility with MS.NET.
4226 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
4228         * StringComparer.cs: Add generics version of string interfaces.
4230 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
4232         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
4234 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
4236         * StringSplitOptions.cs MidpointRounding.cs: New files.
4238         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
4240 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
4242         * StringComparer.cs: New file.
4244 2005-07-26  Raja R Harinath  <harinath@gmail.com>
4246         * Enum.cs (GetValue): Make private.  Return an ulong.
4247         (Parse): Tighten scope of couple of variables.  Use ulong when
4248         twiddling bits.
4250 2005-07-25  Raja R Harinath  <rharinath@novell.com>
4252         * Enum.cs (FindName, GetValue): New.  Carved out of ...
4253         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
4254         exceptions when parsing names.  Avoid allocating arrays unless
4255         necessary.  Avoid conversion of an enumeration constant to its own
4256         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
4258 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
4260         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
4261         Fixes bug #75527.
4263 2005-07-13  Miguel de Icaza  <miguel@novell.com>
4265         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
4266         signature for GetValue and SetValue to make the long [] argument
4267         be a params argument. 
4269 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
4271         * Convert.cs: Fix the bug when Convert.ChangeType was using
4272         NumberFormatInfo instead of DateTimeFormatInfo when the type to
4273         change is a DateTime.
4275 2005-07-11  Martin Baulig  <martin@ximian.com>
4277         * Array.cs: Use Type.Equals() instead of `==' to compare type
4278         parameters.     
4280 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
4282         * Type.cs: Mark BindGenericParameters as deprecated. Use
4283         MakeGenericType as default implementation with updated signature.
4285 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
4287         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
4288         #75514.
4290 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
4292         * DelegateSerializationHolder.cs: When the deserialized target is
4293         a proxy, call IsInstanceOfType to force the proxy to load the
4294         real type of the remote object. This is needed to make sure that
4295         subsequent calls to GetType() return the expected type. This fixes
4296         bug #75447.
4298 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
4300         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
4301         serialization.
4303 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
4305         * Guid.cs: Avoid code duplication between overriden methods (new in 
4306         2.0). Avoid exception processing when possible. Renamed parameters to
4307         match the framework. Added ComVisible to NET_2_0.
4309 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
4311         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
4312         function for NET_2_0. It's full signature is:
4313                 public static T CreateInstance<T>();
4315 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
4317         * Decimal.cs: Renamed internal fields for the sake of serialization
4318         interoperability with MS.NET.
4319         * Exception.cs: In the StackTrace property, return the stack trace
4320         if it has a value, even if the exception has not been thrown
4321         (it may have been deserialized).
4323 2005-06-28  Martin Baulig  <martin@ximian.com>
4325         * Array.cs (Array.InternalArray<T>): New nested class; derives
4326         from Array.  This is now used by the runtime for arrays; fixes #74953.
4328 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
4330         * String.cs : added some extra whitespace characters for Trim().
4331           Fixed bug #75259.
4333 2005-06-13  Michal Moskal <malekith@nemerle.org>
4334         
4335         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
4336         since it now throws on MethodBuilders. Don't use FieldHandle in
4337         GetField (throws on FieldBuilder) - just use the name.
4339 2005-06-13  Martin Baulig  <martin@ximian.com>
4341         * MonoType.cs
4342         (MonoType.getFullName): Added `bool assembly_qualified' argument.
4343         (MonoType.AssemblyQualifiedName): The interncall now adds the
4344         assembly name, so we don't need to do it here.
4345         (MonoType.FullName): Use the new getFullName() API.
4347 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
4349         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
4350         NET_2_0. Added "new" white char and ComVisible for 2.0.
4352 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4354         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
4355         calls to avoid extra allocations.
4357 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
4359         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
4361         * Type.cs MonoType.cs: Add internal virtual
4362         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
4363         from non-instanciated counterparts
4365 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
4367         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
4369 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
4371         * Type.cs: Add missing 2.0 attributes.
4373 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4375         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
4376         also internal method GetCustomAttributesData, used by 
4377         System.Reflection.CustomAttributeData.
4378         
4379 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4381         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
4382         missing attributes (for both 1.1 and 2.0).
4383         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
4384         2.0. Reworked Trim() to skip a useless call. Added missing attribute
4385         for 2.0.
4386         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
4387         missing attribute for 2.0. Hided some public/protected methods.
4389 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4391         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
4393 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4395         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
4396         * AppDomain.cs: Added new members from _AppDomain interface.
4397         * AppDomainManager.cs: Fixed flags and added attributes.
4398         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
4399         AppDomainManagerInitializationOptions in beta2.
4401 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4403         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
4405 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4407         * Exception.cs: Implements _Exception only for 2.0.
4409 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4411         * GC.cs: Fix build.
4412         
4413         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
4414           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
4415           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
4417 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4419         * Environment.cs:
4420         * AppDomain.cs: if the assembly is loaded from a byte array, Location
4421         returns "". Fixes bug #74958.
4423 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
4425         * *.cs: More 2.0 API fixups
4427         * *.cs: In beta 2, generics are no longer non-cls-compliant.
4429 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
4431         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
4432         that was different from MSFT.
4433         * String.cs: Fixed IndexOfAny thrown an exception
4434         when startIndex of arguments equals Length. (Closes bug #75083.)
4436         * Decimal.cs: Changed to use NumberFormatter in ToString.
4437         * NumberFormatter.cs: Implemented decimal formatter.
4439 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4441         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
4442         support in System.Net work again.
4444 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
4446         * CharEnumerator.cs: add IEnumerable <char> support
4448 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
4450         * Activator.cs: Added missing validation on parameters.
4452 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
4454         * Type.cs: Check that the arguments of the `types' array are
4455         non-null. Fixes bug 71300
4457 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
4459         * AppDomainSetup.cs: Added new 2,0 constructors and the 
4460         ActivationArguments property.
4461         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
4462         new location for the ApplicationActivator class.
4463         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
4465 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
4467         * Environment.cs: bump corlib version for bug #75060.
4469 2005-05-27  Raja R Harinath  <rharinath@novell.com>
4471         * Environment.cs (ExpandEnvironmentVariables): Rewrite
4472         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
4473         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
4474         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
4475         StringBuilder has an appropriate Append overload.
4477 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
4479         * Type.cs (IsEnum): Special case EnumBuilder here.
4481 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
4483         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
4484         allow call to work with serialization under a restrictive policy.
4485         The code path (the protected information) isn't being used.
4487 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
4489         * Exception.cs: Use the new StackTrace ctor.
4491         * Type.cs: Improve support for user defined type subclasses.
4493 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4495         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
4496           reject 2 digit years for "yyyy".
4497           Use GetAllDateTimePatterns() instead of constant string.
4498           Fixed bug #72788.
4500 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4502         * DateTime.cs : next_not_digit prevented some valid parse.
4503           Just remove it, since now we pass max length to ParseNumber() and
4504           thus it is not needed anymore. Fixed bug 63137.
4506 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4508         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
4509           Reset num after whitespace parsing.
4510           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
4512 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4514         * DateTime.cs : Allow ',' where whitespaces are allowed.
4515           Fixed bug #71289.
4517 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
4519         * BitConverter.cs: Speed this up, fixing 74014. Patch from
4520         `Aleksandar Dezelin'.
4522 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
4524         * Type.cs: Add some helper methods needed by other classes.
4526         * Array.cs: Improve support for user defined Type subclasses.   
4527         
4528         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
4529         wrapper function, not used yet.
4531         * Type.cs Array.cs: Revert this as it breaks the build.
4533         * Type.cs Array.cs: Improve support for user defined Type subclasses.
4535 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
4537         * Delegate.cs (Equals): Use `as' to protect in the case where !
4538         (obj is Delegate)
4540 2005-05-19  Raja R Harinath  <rharinath@novell.com>
4542         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
4543         error.
4545 2005-05-19  Miguel de Icaza  <miguel@novell.com>
4547         * TermInfoDriver.cs: Removed warning.
4549         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
4550         FindLastIndex<T>: Parameter names are normative.        
4551         Fix coding style ("Method<T>" not "Method <T>")
4552         Throw argument exceptions per argument.
4553         
4554         (FindAll): Fix bug, actually return the values that were computed,
4555         not a short version of the original array.
4556         
4557 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4559         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
4560         for each framework version.
4562 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
4564         * Attribute.cs:
4565         * Exception.cs: .Net 1.1 already has these interfaces
4567 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
4569         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
4570         object on GetCustomAttributes (fixes bug #74717).
4572 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4574         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
4575           Fixed bug #74775.
4577 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4579         * DateTime.cs : don't allow extraneous pattern characters also for
4580           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
4582 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
4584         * Activator.cs: Match exceptions thrown by MS.NET for
4585         CreateInstance overloads if type is abstract. Fixes bug #74861.
4587 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4589         * OperatingSystem.cs: PlatformID.Unix.
4591 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
4593         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
4594         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
4596 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
4598         * NumberFormatter.cs : roundtrip number is already rounded before
4599           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
4600           bug #72955.
4602 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
4604         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
4605         the comparer in the same order as msft. Fixes #70725
4607 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4609         * Enum.cs: the hashtable don't need to be synchronized any more, since
4610         it's only accessed from withint a lock.
4612         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
4613         bug 74768.
4615 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
4617         * Array.cs: Remove CLSCompliant (false) attributes.
4619 2005-05-06  Martin Baulig  <martin@ximian.com>
4621         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
4622         [CLSCompliant(true)] attribute.
4624 2005-05-04  Miguel de Icaza  <miguel@novell.com>
4626         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
4627         initialize cache as a static method.  Fixes #74828.
4629 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
4631         * Console.cs: CancelKeyPress is stubbed.
4633 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
4635         * ActivationContext.cs: Updated for beta2.
4636         * AppDomainManager.cs: Updated for beta2.
4637         * ApplicationId.cs: Updated for beta2.
4638         * ApplicationIdentity.cs: Updated for beta2.
4639         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
4640         doesn't leak the code base from the returned AssemblyName.
4642 2005-04-25  Martin Baulig  <martin@ximian.com>
4644         * Environment.cs (Environment.Version): Changed to 2.0.50215.
4646 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
4648         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
4649         number of "missing" in the class status pages.
4651 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4653         * MulticastDelegate.cs: (GetInvocationList) when building the list that
4654         is later traversed forward, mark 'this' as the end of the chain.
4655         Fixes bug #74607.
4657 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
4659         * Environment.cs: Bump corlib version.
4661 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4663         * WindowsConsoleDriver.cs: ignore key release events.
4665 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
4667         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
4669 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
4671         * _AppDomain.cs: Add security checks to the interface. Declarative 
4672         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
4673         with older MCS.
4674         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
4675         blocking some cases from working properly. Declarative security on 
4676         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
4678 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
4680         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
4681         on the AppDomain. Added an internal property to get the granted set.
4683 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
4685         * String.cs,
4686           Char.cs : use TextInfo for ToLower() and ToUpper().
4688 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
4690         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
4691         ToString methods (not required for 2.0 as TypeInformation will be 
4692         deprecated). Added null check for GetObjectData.
4694 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
4696         * Delegate.cs: allow IronPython 0.7 to compile.
4698 2005-03-24  Miguel de Icaza  <miguel@novell.com>
4700         * Delegate.cs: Add CreateDelegate with a target option, currently
4701         internal as it is not exposed by the framework yet.
4703 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
4705         * String.cs: Add some 2.0 methods.
4707 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
4709         * Activator.cs: Now use the supplied evidences when loading 
4710         assemblies. Added LinkDemand for RemotingConfiguration on both
4711         GetObject methods.
4712         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
4713         Input|Output] as they use a handle on a FileStream (which is
4714         restricted otherwise). Added Demand for UnmanagedCode for the
4715         Set[Error|In|Out] methods.
4716         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
4717         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
4718         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
4719         GetFunctionPointer method.
4720         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
4721         MemberAccess on MakeTypedReference.
4723 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
4725         * Environment.cs: Fix CAS unit tests for NET_1_1.
4726         * Exception.cs: Fix CAS unit tests for NET_1_1.
4728 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4730         * Version.cs: don't ignore the last number. Fixes bug #73539.
4732 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
4734         * MonoType.cs: When the security manager is active, constructors and
4735         methods will return null if a linkdemand fails during reflection 
4736         query.
4738 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
4740         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
4742 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
4744         * Environment.cs: Bump corlib version.
4746 2005-03-10  Martin Baulig  <martin@ximian.com>
4748         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
4749         we're null.
4751 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
4753         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
4754         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
4755         Fixes #73432.
4757 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
4759         * Environment.cs: Bump corlib version.
4761         * Exception.cs (StackTrace): Return the wrapper info as well.
4763 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
4765         * NumberFormatter.cs: Some internal classes was converted to structs,
4766         and improved some points.
4768 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
4770         * NumberFormatter.cs: Improved performance and memory usage
4771         when integer standard format.
4772         * SByte.cs:
4773         * Int16.cs:
4774         * Int32.cs:
4775         * Int64.cs:
4776         * Byte.cs:
4777         * UInt16.cs:
4778         * UInt32.cs:
4779         * UInt64.cs:
4780         * Single.cs:
4781         * Double.cs:
4782         * TimeSpan.cs: Improved these directly call to NumberFormatter.
4784 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4786         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
4787         and translate them into a ConsoleKeyInfo.
4788         * TermInfoReader.cs: added a method to return the bytes of a string
4789         property.
4790         * ConsoleKeyInfo.cs: added copy constructor and setters.
4792 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
4794         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
4796 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4798         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
4799         and added some to support the reflection only methods. DoAssemblyResolve
4800         was modified to invoke the new PreBindAssemblyResolve event when the
4801         assembly is reflection only.
4802         
4803 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
4805         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
4806         Add net 2.0 ReliabilityContractAttributes.
4808 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4810         * TermInfoDriver.cs: cygwin terminals are handled by the windows
4811         console driver.
4813         * TermInfoReader.cs:
4814         * TermInfoNumbers.cs:
4815         * KnownTerminals.cs:
4816         * TermInfoBooleans.cs:
4817         * TermInfoStrings.cs: documented.
4819 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
4821         * Array.cs: Reverse the order in the Equals calls.
4823 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
4825         * Exception.cs (StackTrace): Implement this in managed code since it is
4826         needed by CAS. Fixes #72146.
4828 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4830         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
4832 2005-02-14  Raja R Harinath  <rharinath@novell.com>
4834         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
4835         See #72015.
4837 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
4839         * Version.cs (CompareTo, Equals): Make sure the versions for
4840         generics handle `null'. The non-generics versions now just call
4841         the regular versions, to reduce code duplication.
4843         * Boolean.cs (CompareTo): make this really work for generics 
4845         * Type.cs (GetProperty): Passing new Type [0] is different than
4846         null. null means `I don't care how many types this has,' while new
4847         Type [0] means `this must have 0 types.'
4849 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4851         * corlib.dll.sources: added WindowsConsoleDriver.cs
4853         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
4854         implemented the few missing properties/methods.
4856         * System/IConsoleDriver.cs: uncommented all methods/properties.
4857         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
4858         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
4859         windows. Only missing MoveBufferArea by now.
4861 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
4863         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
4865         * Int32.cs AppDomain.cs: Fix warnings.
4867 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
4869         * IServiceProvider.cs: Is not ComVisible.
4871         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
4873         * Type.cs: Fix ClassInterface attribute.
4875 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
4877         * Delegate.cs: remove the finalizer from Delegate: this
4878         is handled internally by the runtime now.
4880 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4882         * Activator.cs: provide the Type name when throwing an exception.
4884 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4886         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
4887         bug #72238.
4889 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
4891         * Array.cs: provide specialized versions of some methods.
4893 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
4895         * String.cs: provide a managed memcpy and memset method
4896         for use both in corlib and from the JIT. Implement
4897         some methods with the managed helpers and remove some icalls.
4899 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
4901         * Exception.cs: Added Data property for NET_2_0 (required for new
4902         unit tests).
4904 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4906         * ConsoleDriver.cs:
4907         * TermInfoDriver.cs:
4908         * IConsoleDriver.cs:
4909         * Console.cs: added BufferWidth and BufferHeight.
4911 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4913         * ConsoleDriver.cs:
4914         * Console.cs:
4915         * TermInfoDriver.cs:
4916         * IConsoleDriver.cs: added a few more properties and fixed cursor
4917         addressing.
4919 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4921         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
4922         calls to the proper driver.
4923         * TermInfoDriver.cs: terminfo based console driver.
4924         * IConsoleDriver.cs: interface implemented by console drivers.
4926         * ConsoleCancelEventArgs.cs:
4927         * ConsoleCancelEventHandler.cs:
4929         * ConsoleModifiers.cs: 
4930         * ConsoleSpecialKey.cs:
4931         * ConsoleColor.cs:
4932         * ConsoleKey.cs: new enumerations.
4934         * ConsoleKeyInfo.cs: New file.
4936         * TermInfoReader.cs: reader for terminfo capabilities files.
4938         * TermInfoNumbers.cs:
4939         * TermInfoBooleans.cs:
4940         * TermInfoStrings.cs: enumations for terminfo property names.
4942         * KnownTerminals.cs: byte arrays for selected terminals.
4944         * Console.cs: added more 2.0 methods and implemented some of them.
4947 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
4949         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
4951 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
4953         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
4954         disclosed unless code has ControlPolicy and ControlEvidence.
4956 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
4958         * Exception.cs: Compute stack trace on demand.
4960 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
4962         * Environment.cs: Removed hack for static class (NET_2_0). Added 
4963         proper security for FailFast (documented in FDBK20543). Added new
4964         method IsRunningOnWindows to replace (Platform == 128) as the logic is
4965         gonna change in the future (Unix is id #4 in NET_2_0).
4967 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
4969         * Environment.cs: Added CAS security (both declarative and imperative)
4970         as a test. This shouldn't affect execution unless --security is 
4971         specified.
4973 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
4974         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
4975         and Type.FilterName delegates They weren't dealing with the optional '*'
4976         at the end of the filter mask
4978 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
4980         * Array.cs: Fix a typo in the previous patch.
4981         
4982         * Array.cs: Fix some test failures in the generic methods.
4984         * Array.cs: Implement AsReadOnly.
4986 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
4988         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
4989         #71242
4991 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
4993         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
4994         have been removed from 2.0.
4996 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
4998         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
4999         NET 2.0.
5001 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
5003         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
5004         Add default culture (neutral) to the name when none is specified.
5005         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
5006         can't trust Id ?
5008 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
5010         * DateTime.cs: Reverted last patch for utc as it broke all certificate
5011         handling and another unit test in DateTime.
5013 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
5015         * DateTime.cs: Return immediately if useutc is set to true, there
5016         is no need to do the extra computation (which also happened to
5017         create a new DateTime using the `use_localtime' constructor, which
5018         lead to the erroneous date returns when using 'u' or `U'
5019         formats).   
5021         Fixes another bug in the regression test suite.
5023 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
5025         * AppDomain.cs: Fix the DefaultDomain property to return the root 
5026         domain (as it seems that the root's Id isn't always 0).
5027         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
5028         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
5030 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
5032         * IntegerFormatter.cs: The - sign inside the "negative" section in
5033         a multi-format string means `show the sign' only if it is the
5034         first token, not `copy verbatim'.  In the other sections it means
5035         `copy-verbatim'.
5037         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
5038         instead of "--34".
5040         The bad news is that this code needs to be rewritten to handle all
5041         the formatting cases, see bug #71112 for details.
5043         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
5044         the conversion is invalid, not ArgumentException, this fixes
5045         another regression in our test suite.
5047 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
5049         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
5050         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
5051         exists anymore).
5053 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
5055         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
5056         initialization problems.
5058 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
5060         * Int32.cs: NumberStyles.AllowExponent was supported by the
5061         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
5062         70469.
5064 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
5066         * Base64FormattingOptions.cs : it was not in System namespace.
5068 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
5070         * DateTime.cs : If no progress on value string, don't regard as
5071           matched. This fixes bug #70707.
5073 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
5075         * Environment.cs: Bump corlib version.
5077 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
5079         * Array.cs (DoBinarySearch): Fix a warning.
5081 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
5083         * Environment.cs: Bump corlib version.
5085         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
5087 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
5089         * Exception.cs: Prevent stringifying the type name on the
5090         ctor. this gets called a few times on every execution to create a
5091         nullref exception.
5093 2004-12-06  Martin Baulig  <martin@ximian.com>
5095         * Decimal.cs: Decimal constant support has been merged into GMCS,
5096         removed the FIXME.
5098 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
5100         * Environment.cs: Bump corlib version.
5101         
5102         * Environment.cs: Bump corlib version.
5104 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
5106         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5107         MS.NET. Fixes #56245.
5109 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
5111         * GC.cs : Collect(generation) actually does not throw an exception
5112           even if generation > MaxGeneration (MS document bug).
5114 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
5116         * Exception.cs: Implement _Exception under NET_2_0.
5118         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
5120         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
5121         NotCancelableException.cs TimeoutException.cs: New files.
5123 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5125         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
5126         constant support.
5128 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5130         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
5131         without decimal constant support.
5133 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
5135         * Decimal.cs: Updated to use compiler decimal constant support.
5137 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
5139         * MonoType.cs: Revert last change since it breaks remoting.
5141 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
5143         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5144         MS.NET. Fixes #56245.
5146 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
5148         * INullable.cs: New interface added.
5149         * Nullable.cs: Methods added. Also a static Nullable class
5150         containing static methods.
5151         
5152 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
5154         * BitConverter.cs: Added support for special case when ToString is 
5155         called with (new byte [0]).
5157 2004-11-10  Lluis Sanchez  <lluis@novell.com>
5159         * Exception.cs: Added setter for StackTrace.
5161 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
5163         * IntegerFormatter.cs: Avoid .ToCharArray
5165 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
5167         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
5169 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5171         * InvalidOperationException.cs: make the message more meaningful and
5172         real. Fixes bug #69055.
5174 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
5176         * String.cs: Rather than == String.Empty, use .Length == 0. It
5177         is a bit faster (avoids a method call, and the code is less complex).
5179 2004-10-24  Fawad Halim  <fawad@fawad.net>
5180         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
5181         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.
5182         This fixes bug #64995.
5184 2004-10-19  Lluis Sanchez  <lluis@novell.com>
5186         * MarshalByRefObject.cs: Field _identity is not serializable.
5187         This fixes bug #68567.
5189 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
5191         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
5192         avoid entering slow integer formatting code.
5194         (_ToString): Use ZeroPad here when possible, as it is faster.
5196 2004-10-11  Martin Baulig  <martin@ximian.com>
5198         * Environment.cs: Bump corlib version to 28.
5200 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
5202         * Convert.cs (ToType): Throw an exception when converting null to a
5203         valuetype. Fixes #67780.
5205 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5207         * DateTime.cs : Performance fix. ParseExact() implementation should
5208           avoid s = s.Substring(1).
5210 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5212         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
5213           of m/s/t/z. This fixes bug 66723.
5215 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
5217         * String.cs: make GetHashCode() managed.
5219 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
5221         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
5223         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
5225         * ModuleHandle.cs: Add missing methods.
5227         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
5229 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
5231         * AttributeTargets.cs: Add 2.0 GenericParameter value.
5233         * Environment.cs: Bump corlib version.
5235 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
5237         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
5239 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
5241         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
5242         and swapping of all values before going into the BitConverter so that values
5243         are returned with proper endianess.
5245 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
5247         * Convert.cs: ToType was returning unconverted object when it should
5248         fail with an ArgumentException.
5250 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
5252         * Array.cs: Add stub for AsReadOnly<T>.
5253         
5254 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
5256         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
5258         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5259         parameters.
5261 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
5263         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5264         methods and fields.
5265         
5266         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
5267         custom attributes.
5269         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
5271         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
5272         sealed' optimization.
5274         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
5276         * Type.cs Add GetPseudoCustomAttributes () method.
5278 2004-09-24  Martin Baulig  <martin@ximian.com>
5280         * Type.cs (Type.GetGenericParameterConstraints): New public method.
5282 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
5284         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
5285         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
5287         * Type.cs: Tweak Module property in 2.0 build.
5289 2004-09-23  Martin Baulig  <martin@ximian.com>
5291         * Type.cs (Type.GenericParameterAttributes): New public property.
5293 2004-09-23  Martin Baulig  <martin@ximian.com>
5295         * GenericParameterAttributes.cs: New file.
5297 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
5299         * ModuleHandle.cs: Updated after changes to Module class.
5301 2004-09-21  Geoff Norton <gnorton@customerdna.com>
5303         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
5304         this filter. Fixes bug #65778.
5306 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
5308         * Environment.cs: Bump corlib version.
5310 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
5312         * ModuleHandle.cs: New file.
5314         * RuntimeFieldHandle.cs: Add an internal ctor.
5316 2004-09-19  Dick Porter  <dick@ximian.com>
5318         * Console.cs: Use the internal wrappers for StreamReader and
5319         StreamWriter that catch IOException.
5321 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
5323         * Environment.cs: Bumped mono_corlib_version to 25.
5325 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5327         * AppDomain.cs: added SetupInformationNoCopy property, since
5328         SetupInformation creates a copy now, all updates to it should use the
5329         actual data. Fixes bug #61991 take 2.
5331 2004-09-09  Tim Coleman <tim@timcoleman.com>
5332         * Base64FormattingOptions.cs: New enum
5333         * Convert.cs: Add new ToBase64String methods for Fx 2.0
5335 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
5337         * Console.cs,
5338         * GC.cs: Class is static for NET_2_0.
5340 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
5342         * Activator.cs: Make sure not to call .GetType on a
5343         null argument. fixes 63852
5345 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
5347         * Array.cs (Clear): make this an icall.
5349 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
5351         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
5353 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5355         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
5356         insensitive enironment variables hashtable once we create it.
5358 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
5360         * AppDomain.cs: Changed 2 imperative security demands to declarative
5361         (unsupported) so it doesn't (for now) call the security runtime.
5363 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
5365         * Delegate.cs: Free the delegate trampoline in the finalizer.
5367 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
5369         * ApplicationId.cs: Completed GetHashCode using information from MS
5370         (FDBK13339).
5372 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
5374         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
5376 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
5378         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
5379           allows 12, that should not be accepted (13 is rejected) and
5380           interpreted as 0. This fixes bug 63376.
5382 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
5384         * Version.cs: Fixed Clone so we can use it on versions with only
5385         major/minor or major/minor/build.
5387 2004-08-17  Martin Baulig  <martin@ximian.com>
5389         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
5390         argument specifying whether or not to include the type arguments.
5391         (MonoType.FullName): Don't include the type arguments.
5392         (MonoType.ToString): Include them here.
5394         * Environment.cs: Bumped mono_corlib_version to 24.
5396 2004-08-16  Duncan Mak  <duncan@ximian.com>
5398         * AttributeUsageAttribute.cs: Change the AttributeUsage to
5399         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
5400         bug #62895.
5402 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
5404         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
5405         Added call to AddPermissionRequests to pass permissions
5406         arguments.
5407         * Environment.cs: Added a few Fx 2.0 methods
5409 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
5411         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
5412         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
5413         references). Added (non-obsolete) Fx 2.0 properties and methods.
5414         * AppDomainSetup.cs: Added internal copy constructor.
5415         * DomainManagerInitializationFlags.cs: Fixed values.
5417 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
5419         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
5420         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
5421         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
5422         * ApplicationId.cs: New Fx 2.0 class.
5423         * ApplicationIdentity.cs: Fixed ToString.
5424         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
5426 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
5428         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
5429         AppDomain using it's Id. Completed SetAppDomainPolicy.
5430         * Environment.cs: Bumped mono_corlib_version to 23.
5432 2004-08-02  Martin Baulig  <martin@ximian.com>
5434         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
5436 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
5438         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
5439           now its location is changed.
5441 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
5443         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
5444           NET_2_0 profile.
5445         
5446 2004-07-18  Martin Baulig  <martin@ximian.com>
5448         * Array.cs: Ben Maurer implemented all the new generic methods
5449         here :-)
5451 2004-07-17  Martin Baulig  <martin@ximian.com>
5453         * Decimal.cs: Implement IComparable<Decimal>.
5455 2004-07-17  Martin Baulig  <martin@ximian.com>
5457         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
5458         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
5460 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
5462         * ActivationContext.cs: New class in Fx 2.0. Required for 
5463         System.Security.Policy.
5464         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
5465         System.Security.Policy.
5466         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
5467         System.Security.Policy.
5468         * IHostContext.cs: New interface in Fx 2.0. Required for 
5469         System.Security.Policy.
5471 2004-07-12  Geoff Norton <gnorton@customerdna.com>
5473         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
5474           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
5475           and will add/subtract the hour if needed
5477 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5479         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
5480           pass through all the possibly BindingInfo's and keep a bool value as to the type
5481           of exception we might need to throw;
5483 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5485         * Patch to fix bug #58973
5487 2004-07-02  Jackson Harper  <jackson@ximian.com>
5489         * PlatformID.cs: New 2.0 values.
5490         
5491 2004-06-25  Ben Maurer <bmaurer@ximian.com>
5492         
5493         * Environment.cs: GetFolderPath has new behavior. r=miguel
5495 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
5497         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
5498         bigger than 9999. Fix bug #41845.
5499         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
5500         the "R"eversible format for negative numbers.
5502 2004-06-21  Jackson Harper  <jackson@ximian.com>
5504         * Decimal.cs: Make sure to use invariant culture when parsing
5505         floats stringified with the invariant culture. Patch by Rodrigo
5506         B. de Oliveira.
5507         
5508 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
5510         * FloatingPointFormatter.cs : Literal string should be kept in the
5511           output.
5513 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5515         * DateTime.cs : Concatenating whitespace removal was not working fine.
5516           Modified FormatException message (1 cent kindness).
5518 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
5519         
5520         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
5521         new generics classes
5522         * IComparable.cs: add the new <T> version.
5523         * EventHandler.cs: new <T> version.
5524         
5525 2004-06-18  Dick Porter  <dick@ximian.com>
5527         * String.cs: The icall can cope with embedded \0 now.
5529 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5531         * DateTime.cs :
5532           - Added new common pattern "yyyy/M/dZ"
5533           - empty string should not be compared in _ParseEnum()
5534           - Use culture independent string comparison in _ParseString()
5535           - Whitespace removal should be checked after '..' token check (some
5536             pattern such like es-ES LongDatePattern contains spaces in '..').
5537           - formats null check should be done (to throw ArgumentNullException)
5538             in ParseExact().
5539           - When specified one character format, dates are incorrectly regarded
5540             as to use invariant culture.
5542 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5544         * ArgIterator.cs: changed layout to Auto
5545         * DateTime.cs: changed layout to Auto
5547 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5549         * DateTime.cs: CRLF to LF
5551 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
5553         * Decimal.cs: Fixed regression in System.Data caused by the recent 
5554         changes. Adapted (and moved) the code to correct the scale from 
5555         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
5556         scale has no importance).
5558 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
5560         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
5561           attributes are omitted.
5563 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5565         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
5566           check if the format character is valid.
5568 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5570         * DateTime.cs : AddDays(double) rounds the input.
5572 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5574         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
5575           Fixed ToLocalTime() as well, but it does check range for MinValue.
5577 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5579         * DateTime.cs : Added overflow check in ToUniversalTime() and
5580           ToLocalTime(). Fixed bug #60253.
5582 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
5584         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
5585         source code (with permission). Fix (biggest) part of bug #60110.
5586         http://www.yoda.arachsys.com/csharp/floatingpoint.html
5588 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
5590         * Decimal.cs: Fixed scale after Round (a different scale is correct 
5591         from a math point of view but affect the string representation of the
5592         value). Note: other operations also have scale problems!
5593         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
5594         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
5595         rounding (which is the rounding provided by Math.Round). This fix bug
5596         #60111. The code (new Round methods) should be moved elsewhere (as it
5597         may also be required elsewhere) post Mono 1.0.
5599 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
5601         * AppDomainSetup.cs: added TODO for serialization
5602         * ExecutionEngineException.cs: added missing serialization ctor
5603         * InvalidProgramException.cs: added missing serialization ctor
5604         * MulticastNotSupportedException.cs: added missing serialization ctor
5605         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
5606         * Random.cs: fixed serialization compatibility with MS.NET
5608 2004-06-15  Paolo Molaro <lupus@ximian.com>
5610         * Type.cs: removed unused (and non-existing) icall type_is_instance.
5612 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5614         * Environment.cs: use internalGetHome instead of getting "HOME" as
5615         that variable may not be defined.
5617 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
5619         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
5620         (overflow is only checked for days but can also occurs in hours and
5621         minutes which uses Int32 when multiplying). The new results match MS
5622         implementation.
5624 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5626         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
5627           them with matching NumberFormatInfo properties.
5629 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5631         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
5632         * FloatingPointFormatter.cs :
5633           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
5634           failures.
5635           Format Permille pattern (It is undocumented but actually available,
5636           and used in xsl:format-number).
5638 2004-06-14  Raja R Harinath  <rharinath@novell.com>
5640         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
5641         version with BOOTSTRAP_WITH_OLDLIB.
5642         * String.cs (STring.Concat): Likewise.
5644 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
5646         * FloatingPointFormatter.cs :
5647           - Don't format more than 15 fraction digits. Don't report to Pedro
5648             directly (removing the error message with his concent).
5649           - When format string starts with '.', it means integral part format 
5650             is not specified. Ignore '.' characters after the first
5651             appearance. Fixed bug #59890.
5652           - 0.0 is formatted only before the third ';' appearance.
5654 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
5656         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
5657         rounding logic which worked for FromOADate (while the newer didn't).
5658         * TimeSpan.cs: Now throw an OverflowException when the timespan is
5659         over MaxValue or under MinValue.
5661 2004-06-11  Martin Baulig  <martin@ximian.com>
5663         * Console.cs (Write, WriteLine): Implemented the varargs versions.
5665 2004-06-11  Martin Baulig  <martin@ximian.com>
5667         * String.cs (Concat): Implemented the varargs version.
5669 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
5671         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
5672         decode it properly (i.e. matching MS results). Fixed the Round method
5673         for negative decimal numbers (moved code from Math.cs).
5674         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
5675         fix a bug when rounding a negative decimal.
5677 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5679         * AppDomain.cs: set the _principal to null when changing the policy.
5680         * Console.cs: remove ClsCompliant attribute from a method marked as
5681         internal and added comment.
5683 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
5685         * Delegate.cs: marked protected fields private to match public
5686         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
5687         protected to fix public API
5688         * Enum.cs: marked ctor protected to match public API of MS.NET
5689         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
5690         match public API of MS.NET
5692 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
5694         * DateTime.cs : Added more common patterns.
5696 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5698         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
5699         be a performance winner (the actual Math code has a note to wait a
5700         better Decimal implementation) but it returns the correct results
5701         (without adding new code in corlib or the runtime). Fix #37744.
5703 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
5705         * DateTime.cs :
5706           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
5707             now represented as double. Strict token check for 'Z'.
5708           - Pattern validity check in GetDateTimeFormats(char).
5709           - Fixed pattern "yyyy/M/d HH:mm:ss".
5711 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5713         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
5714         unmanaged code). Simplified divide. Removed workaround for bug #59793.
5715         Fixed GetHashCode to return different result for X and -X.
5717 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
5719         * DateTime.cs :
5720           - Now re-checked all common format patterns. They should be tried
5721             with both current culture and invariant culture. Since '/' covers
5722             '-', removed extraneous patterns. Added more common patterns
5723             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
5724             only after NET_1_1). Commented out 1 character format patterns.
5725           - The format patterns we should try should not be obtained by
5726             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
5727             character patterns), to handle UTC correctly. Examined patterns
5728             are changed, to 1) common patterns with specified (or current)
5729             culture, 2) common patterns with invariant, 3) The above "one
5730             character patterns" with specified (or current) culture.
5731           - When trying to parse some kind of patterns such as RFC1123, 
5732             always use invariant DateTimeFormatInfo so that they can avoid
5733             parsing with culture-dependent calendar.
5734           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
5735           - Removed extraneous '-' case. It is not special one.
5736           - When ParseExact(), allow only '/' for '/' pattern character.
5737           - When Parse(), allow any non-letter & non-number characters.
5738           - When pattern is not fully parsed, reject that format.
5739           - Added "exact" parameter to some ParseExact().
5740           - RFC1123 pattern is (again) now parsed in local time. I regressed
5741             some problems in previous fix.
5743 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
5745         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
5746         value.
5748 2004-06-07  Duncan Mak  <duncan@ximian.com>
5750         * Exception.cs (Source): This can return null.
5752 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5754         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
5755         constructor to limit range of milliseconds from 0,999. Fixed
5756         ToType method to work for object, string and DateTime.
5758 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5760         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
5761         insensitive, wrong exception in FromOADate, handling of Min/Max 
5762         values, negative doubles where integer part is negative but 
5763         decimals are positive! Charming format ;-)
5765 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5767         * String.cs: Fixed Join in case separator parameter is null.
5768         * TimeSpan.cs: Cache format errors during parsing and throw 
5769         FormatException only if there was no overflow.
5771 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
5773         * MonoCustomAttrs.cs: fixed issue where an empty array was 
5774         returned when GetCustomAttributes was invoked with null
5775         attribute type and there was only one result
5777 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5779         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
5780         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
5781         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
5782         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
5783         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
5784         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
5785         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
5786         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
5788 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
5790         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
5791         int and long) into string in a specific base (2, 8, 10 or 16).
5793 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
5795         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
5796         the dividend is negative and the result is 0 (remainder).
5798 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
5800         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
5802 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
5804         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
5805         spans. Fixed parsing when only days are presents in the string (which
5806         should be illegal according to the documentation but is supported).
5808 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
5810         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
5811         somewhat different from the documentation.
5813 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
5815         * Type.cs: added missing attributes on InvokeMember
5817 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
5819         * String.cs: Flag concat with four arguments internal. 
5821 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
5823         * Array.cs: Fixed legal case where value is null.
5824         * Byte.cs: Fixed ToString when format is an empty string (use "G").
5825         * Guid.cs: Renamed private fields (and changed some to signed) to 
5826         match MS implementation and allow serialization to work. Fix 
5827         bug #59113.
5829 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5831         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
5833 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
5835         * Console.cs: Remove *again* the version of WriteLine with four
5836         arguments;  That should *not* be added.  
5838         Flag it as internal as people migrate their code.
5840 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
5842         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
5843         ArgumentNullException (only case, all other returns 0). Fixed exception
5844         reporting for hex prefix only strings. Fixed ChangeTo where null could
5845         be misinterpreted between null and Empty.
5847 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
5849         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
5850         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
5851         case when we parse Int64.MinValue (positive doesn't fit a signed long).
5853 2004-05-28  Jackson Harper  <jackson@ximian.com>
5855         * Environment.cs: Increment version number.
5856         
5857 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
5859         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
5860         Fixes #59189.
5862 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5864         * DateTime.cs : I reverted my fix by accident :(
5866 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5868         * DateTime.cs :
5869           - In ToString(), Don't use culture-dependent daynames to format
5870             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
5871           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
5872             (since the format string is the same as 'F').
5874 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5876         * DateTime.cs : don't adjust utc value in ToString(). It must output
5877           the same time value, just adding 'Z' for UTC.
5879 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
5881         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
5882           proceeding.
5884 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5886         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
5888 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
5890         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
5891         * Convert.cs: Convert with a base parameter cannot parse negative 
5892         string numbers, even "-0".
5893         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
5894         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
5895         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
5897 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
5899         * DateTime.cs : 
5900           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
5901             to common formats (yes, I know it is nothing more than hack)
5902           - Fixed some GetDateTimeFormats() that just returned patterns.
5903           - For InvariantCulture, now try both supported formats and our
5904             predefined formats.
5905           - It was accepting incorrectly extraneous characters. That caused
5906             some UTC/non-UTC bug.
5907           - RFC1123 string should return universal time. Uncomment again (the
5908             problem should went away because of the extra characters fix above.
5910             With some of the changes above, fixed bug #47720.
5912 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
5914         * DateTime.cs : quick revert 'Z' support for certificate verifications.
5916 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
5918         * Array.cs: Removed duplicate condition if LastIndexOf.
5920 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
5922         * DateTime.cs :
5923           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
5924             (Fixed bug #58938.)
5925           - As a quick remedy to accept more patterns, Parse() now also tries
5926             InvariantInfo patterns (this is because we have no more than one
5927             pattern for each pattern component.)
5928           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
5929             culture uses 'Z' as AM/PM designer, and it should be recognized as
5930             part of the UTCpattern (if it actually UTC pattern for the culture
5931             contains 'Z').
5933 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
5935         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
5936         seems to allow multiple attributes with AllowMultiple at
5937         runtime.
5939 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
5941         * Byte.cs: Throw an OverflowException for negative numbers.
5942         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
5943         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
5945 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
5947         * Array.cs: Fixed possible integer overflow.
5948         * BitConverter.cs: Fixed a possible integer overflow in ToString.
5949         * Guid.cs: Added an internal method to create a random Guid without
5950         using CryptoConfig (which is heavy on first use). This is only used
5951         in S.R.E.ModuleBuilder to speedup MCS compilation.
5952         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
5953         possible integer overflow in methods that takes index and count
5954         as parameters.
5956 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
5958         * String.cs: Add new Strcpy icalls which take a char array as 
5959         parameter.
5961 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
5963         * DateTime.cs : added more invariant format patterns. This should
5964           really fix bug #57656.
5966 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
5968         * BitConverter.cs (ToBoolean): Return true or false instead
5969         of unsafe returing byte as bool. Fixes bug #58874.
5971 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
5973         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
5974           string format argument is null.
5976 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
5978         * Version.cs: Rename of data fields to match those in Microsoft.NET.
5979           Patch by PAF@design.ru.
5981 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5983         * DateTime.cs: allow double quotes in the formats. Don't set
5984         next_not_digit to true in presence of single or double quotes. Patch by
5985         Martin Probst.
5987 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
5989         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
5991 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
5993         * Array.cs: Fixed exception when we try to Clear outside bounds.
5994         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
5995         * BitConverter.cs: Fixed negative index and integer overflow in
5996         To... methods.
5997         * Buffer.cs: Fixed integer overflow in BlockCopy.
5999 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
6001         * Array.cs: Clear can now work on multidimentional arrays.
6002         * IntPtr.cs: We now only accept 32bits values in the long constructor
6003         unless we're on a 64 bits machine.
6004         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
6005         constructor unless we're on a 64 bits machine.
6007 2004-05-22  Duncan Mak  <duncan@ximian.com>
6009         * Convert.cs: The file was mostly in DOS endings already, for the
6010         sake of consistency, converted it all to DOS endings.
6011         (ToType): When value is null, immediately return null and don't
6012         ever throw a NullReferenceException. When conversionType is null,
6013         throw an InvalidCastException. Give a better error message when
6014         attempting to convert to a DBNull as well.
6016 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
6018         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
6019         of Decimal (and not use the banker's rounding like Convert.To...).
6020         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
6021         to NaN compares (see new unit tests).
6023 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
6025         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
6026         Also fixed the case where wide (16 bits) characters were converted to 
6027         bytes.
6029 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6031         * ThreadStaticAttribute.cs
6032         * ContextStaticAttribute.cs
6033         * FlagsAttribute.cs
6034         * ObsoleteAttribute.cs : now that Inherited is false by
6035         default on AttributeUsageAttribute (as it should be) we
6036         need to explicitly set Inherited to false for those
6037         attributes should it be be false.
6039 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6041         * AttributeUsageAttribute.cs: Inherited property should be
6042         true by defaultrs.cs: respect Inherited property, and
6044 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6046         * MonoCustomAttrs.cs: respect Inherited property, and
6047         AllowMultiple property of a CustomAttribute. This fixes
6048         a major issue we had with respect to custom attributes.
6050 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6052         * MonoType.cs: throw ArgumentNullException when type parameter in
6053         GetCustomAttributes(Type, bool) is null
6055 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
6057         * Buffer.cs: Added checks for null source and destination. Fix failing
6058         CryptoStream unit test.
6059         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
6060         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
6061         spec). This removes the TODO to get the computer MAC address and
6062         the chances to get a duplicate GUID (across different machines).
6064 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6066         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
6067           than OverflowExceptions then something went wrong internally
6069 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6071         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
6072           culture - sensitive
6074 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
6076         * Buffer.cs: Optimize BlockCopy.
6078         * Environment.cs: Bump corlib version.
6080 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
6082         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
6083           See also bug #58478.
6085 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6087         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
6088         been set. Just return null as MS. Fixes bug #58120.
6090 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
6092         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
6093           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
6094           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
6095           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
6096           useless [CLSCompliant (false)]
6099 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6101         * __ComObject.cs: To please corcompare (no implementation).
6103 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
6105         * Environment.cs: Bump corlib version.
6107 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6109         * Environement.cs: Removed two security attributes for CurrentDirectory
6110         that weren't documented (and anyway we don't support them).
6112 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6114         * Char.cs: Fix exceptions
6116 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
6118         * MissingMemberException.cs: Fix in serialization constructor.
6120 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6122         * Environment.cs: GetGacPath return value is resolved at runtime on
6123         windows.
6125 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
6127         * Convert.cs: ToBase64CharArray method was depending on a bug in 
6128         S.S.C.ToBase64Transform class to work. Added an internal method to 
6129         provide the same functionality (multiple block processing).
6131 2004-05-06  Jackson Harper  <jackson@ximian.com>
6133         * Environment.cs: Make $HOME the personal directory.
6135 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
6137         * Convert.cs: ToBase64String method was depending on a bug in 
6138         S.S.C.ToBase64Transform class to work. Added an internal method to 
6139         provide the same functionality (multiple block processing).
6141 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
6143         * Environment.cs: Completed OSVersion property.
6144         * Version.cs: Added internal CreateFromString() to "try" to build the
6145         best version number form the specified string.
6147 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6149         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
6150           Fixes several potential bugs and makes things way faster.
6152 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6154         * TimeSpan.cs: Formatting changes
6156 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
6158         * Activator.cs: change _flags to a const.
6159         * IntegerFormatter.cs: make tables readonly.
6160         * Convert.cs: tables readonly
6161         * DateTime.cs: ditto.
6162         * IntPtr.cs: avoid a cctor.
6164 2004-04-29  Jackson Harper  <jackson@ximian.com>
6166         * MonoType.cs: 
6167         * Type.cs: NET_2_0 now instead of 1_2. 
6168         
6169 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6171         * Environment.cs: implemented GetLogicalDrives.
6173 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
6175         * Applied patch from Atsushi Enomoto that allows Synchronized
6176         writers to have a `dont close' flag, this fixes 52094
6178 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
6180         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
6181         return the method if it is private (it did until now because of a
6182         bug). Make sure it works as it worked before the fix.
6183         * Type.cs: Implemented FilterAttribute delegate.
6185 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6187         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
6189 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6191         * IntegerFormatter.cs: Made functions internal (needed by other patches)
6193 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
6195         * DateTime.cs: TODO cleaning.
6196         * Delegate.cs: GetObjectData should be virtual.
6197         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
6198           30 methods almost identical.
6199         * MulticastDelegate.cs: Implemented GetObjectData.
6200         
6201 2004-04-26  Jackson Harper  <jackson@ximian.com>
6203         * Environment.cs: Things going bump in the night.
6205 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
6207         * Convert.cs (toBase64Transform): Make private.
6209 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6211         * Convert.cs:
6212         * Decimal.cs:
6213         * DecimalFormatter.cs:
6214         * FloatingPointFormatter.cs: Call invariant Char functions
6215         * Guid.cs: Call invariant Char and String functions
6216         * String.cs: Call invariant Char functions
6218 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6220         * String.cs: Refactored the Invariant ToXXX into its own internal methods
6221           so they are directly callable within corlib (can prevent early
6222           construction of CultureInfo, InvariantCulture and related classes)
6224 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6226         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6227         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6229 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6231         * String.cs: Check for null values
6233 2004-04-23  Peter Bartok <pbartok@novell.com>
6235         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
6236           will do a better fix in the future, but this way apps can at least use it.
6238 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
6240         * Environment.cs: Better support for GetFolderPath (same results as MS 
6241           on Windows).
6243 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
6245         * Activator.cs: Removed TODOs for finished methods.
6246         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
6247           must be relative to the current directory, not the temp directory.
6248           Implemented DynamicBase.
6249         * Convert.cs: No need to create a ToBase64Transform instance at every call
6250           to ToBase64CharArray.
6251         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
6252           ToFileTimeUtc.
6253         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
6254         * Delegate.cs: Removed class TODO.
6255         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
6256           methods.
6257         * Type.cs: Removed TODOs for things already implemented.
6258         
6259 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
6261         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
6262         * MulticastDelegate.cs: Removed unused code.
6264 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
6266         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
6267         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
6268         * BadImageFormatException.cs: TODO reformat.
6269         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
6270         * DelegateSerializationHolder.cs: Made class internal.
6271         * Enum.cs: Removed TODO for localization, since this is something that has
6272           to be done for all classes.
6273         * Environment.cs: Removed TODO.
6274         * Exception.cs: Changed ToString to use StringBuilder.
6275         * MonoDummy.cs: Made class internal.
6276         * UnitySerializationHolder.cs: Added support for modules.
6278 2004-04-16  David Sheldon <dave-mono@earth.li>
6280         * DecimalFormatter.cs: Don't append a decimal point after the
6281           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
6282           "100. %"
6284 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
6286         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
6287           this.
6289 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
6291         * MonoDummy.cs: added MonoTODO to make sure we remove this class
6292           when its no longer needed
6294 2004-04-09  David Sheldon <dave-mono@earth.li>
6296         * Convert.cs: Allow + signs in strings for ToInt32, and
6297           - if it is base 10.
6299 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
6301         * Nullable.cs : usingdecl should also be conditional.
6303 2004-04-07  Martin Baulig  <martin@ximian.com>
6305         * Nullable.cs: New file.
6307 2004-04-07  Martin Baulig  <martin@ximian.com>
6309         * Type.cs (Type.GetGenericArguments): Make this abstract.
6311 2004-04-07  Jackson Harper  <jackson@ximian.com>
6313         * Environment.cs: Increase corlib version number.
6314         
6315 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6317         * Environment.cs:
6318         (ExpandEnvironmentVariables): on windows, env. vars. are case
6319         insensitive.
6321 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
6323         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
6324         Removed [ThreadStatic] for _principalPolicy (not required).
6326 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
6328         * Guid.cs: Flag as Sequential.
6330 2004-04-02  Dick Porter  <dick@ximian.com>
6332         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
6334 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
6336         * Environment.cs: Implement ExpandEnvironmentVariables static method.
6337         Now call the runtime to get the username (fix #56144).
6339 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6341         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
6342         Fixes bug #56341.
6344 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
6346         * Console.cs: If we fail to open stdin/stdout/stderr, create
6347         readers with a NullStream.  This can happen if our caller does not
6348         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
6349         it will happen elsewhere.
6351 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
6353         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
6354         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
6355         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
6356           the constructor. This fixes bug #54019.
6358 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
6360         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
6361           internal variables to structures that are moved around methods.
6362           Factorized some common formatting code into FormatNumberInternal.
6363           
6364 2004-03-23  Dick Porter  <dick@ximian.com>
6366         * DateTime.cs: Allow any character for DateSeparator when parsing,
6367         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
6368         deleted the previous fix for 54721, because this covers it too.
6369         
6370 2004-03-23  Dick Porter  <dick@ximian.com>
6372         * DateTime.cs: Check the date string for too many digits when
6373         parsing.  Fixes bugs 53023 and 53025.
6375 2004-03-22  Dick Porter  <dick@ximian.com>
6377         * String.cs: Use the provider when converting strings to other
6378         types.
6380         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
6381         formats.  Fixes bug 54721.
6383 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6385         * Console.cs: Styled, optimized calls
6386         * CrossAppDomainDelegate.cs: Small header fix
6387         * Buffer.cs: Style, improve errors
6388         * BitConverter.cs: Style, improve errors, remove obsolete comment
6389         * Attribute.cs: Style, improve errors, small fix
6390         * Array.cs: Style, improve errors, small fix, added TODOs
6391         * Activator.cs: Style, localized errors, added error checks
6392         * Byte.cs: Style, localized errors, fixed wrong exception parameters
6393         * Char.cs: Style
6394         * Boolean.cs: Style
6395         * AppDomainSetup.cs: Style
6396         * AppDomain.cs: Style, implemented two methods (redirect)
6398 2004-03-21  Jackson Harper  <jackson@ximian.com>
6400         * FloatingPointFormatter.cs: Set precision from number format info
6401         when it is not specified. This fixes bug #54983.
6402         
6403 2004-03-18  Nick Drochak <ndrochak@ieee.org>
6405         * Math.cs: Use IsNaN() method not "x == NaN".
6407 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6409         * EntryPointNotFoundException.cs
6410         * DuplicateWaitObjectException.cs
6411         * DllNotFoundException.cs
6412         * DivideByZeroException.cs
6413         * ContextMarshalException.cs
6414         * CannotUnloadAppDomainException.cs
6415         * BadImageFormatException.cs
6416         * ArrayTypeMismatchException.cs
6417         * ArithmeticException.cs
6418         * ArgumentOutOfRangeException.cs
6419         * ArgumentNullException.cs
6420         * ArgumentException.cs
6421         * ApplicationException.cs
6422         * AppDomainUnloadedException.cs: Added missing HResult overrides
6424         * BadImageFormatException.cs: Improved/ Fixed implementation
6426 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
6428         * Random.cs: Corrected random value when Next is called with a 
6429         negative value. Testing indictae that our results aren't exactly the 
6430         same as MS, we have a +/- 1 (probably rounding errors due to 
6431         different implementation).
6433 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6435         * Environment.cs: updated corlib version.
6437 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
6439         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
6440           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
6441           field "value" to "m_value", so it is interoperable with MS.NET when 
6442           serializing and deserializing data. Based on the patch from Daniel
6443           Keep.
6445 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6447         * TypeInitializationException.cs
6448         * SystemException.cs
6449         * StackOverflowException.cs
6450         * RankException.cs
6451         * OverflowExceptionException.cs
6452         * OutOfMemoryException.cs
6453         * NullReferenceException.cs
6454         * NotSupportedException.cs
6455         * NotFiniteNumberException.cs
6456         * InvalidOperationException.cs
6457         * InvalidCastException.cs
6458         * IndexOutOfRangeException.cs
6459         * FormatException.cs
6460         * ExecutionEngineException.cs: improved parameter names
6462 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6464         * Enum.cs
6465         * EntryPointNotFoundException.cs
6466         * DuplicateWaitObjectException.cs
6467         * DoubleFormatter.cs
6468         * DllNotFoundException.cs
6469         * DivideByZeroException.cs
6470         * DelegateSerializationHolder.cs
6471         * Delegate.cs
6472         * DBNull.cs
6473         * ContextStaticAttribute.cs
6474         * ContextMarshalException.cs
6475         * ContextBoundObject.cs
6476         * CLSCompliantAttribute.cs
6477         * CharEnumerator.cs
6478         * CannotUnloadAppDomainException.cs
6479         * BadImageFormatException.cs
6480         * AttributeUsageAttribute.cs
6481         * AttributeTargets.cs
6482         * AsyncCallback.cs
6483         * AssemblyLoadEventHandler.cs
6484         * AssemblyLoadEventArgs.cs
6485         * ArrayTypeMismatchException.cs
6486         * ArithmeticException.cs
6487         * ArgumentOutOfRangeException.cs
6488         * ArgumentNullException.cs
6489         * ArgumentException.cs
6490         * ArgIterator.cs
6491         * ApplicationException.cs
6492         * AppDomainUnloadedException.cs
6493         * AppDomain.cs: Mono styled, fixed exceptions/ locales
6494           removed excess usings
6496 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
6498         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
6499         spaces) which fixed #54939. Changed the way that the length is 
6500         validated (multiple of 4) because the ignored characters must not be
6501         included in the count.
6503 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6505         * String.cs: Monostyled
6507 2004-03-09  Jackson Harper  <jackson@ximian.com>
6509         * Char.cs: Only use a byte for numeric data.
6510         
6511 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6513         * TypedReference.cs: Added missing Attributes
6514         * ParamArrayAttribute.cs: Small style fix
6515         * OperatingSystem.cs: Added .Net 1.1 member
6517 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6519         * FieldAccessException.cs
6520         * FormatException.cs
6521         * InvalidCastException.cs
6522         * InvalidOperationException.cs
6523         * MemberAccessException.cs
6524         * MethodAccessException.cs
6525         * MissingFieldException.cs: Locale strings
6526         * MissingMemberException.cs: Locale strings
6527         * MissingMethodException.cs: Locale strings
6528         * NotFiniteNumberException.cs
6529         * NotImplementedException.cs
6530         * NotSupportedException.cs
6531         * NullReferenceException.cs
6532         * ObjectDisposedException.cs
6533         * OutOfMemoryException.cs
6534         * OverflowExceptionException.cs
6535         * PlatformNotSupportedException.cs
6536         * RankException.cs: Added missing HResult overrides
6538 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6540         * RuntimeTypeHandle.cs
6541         * RuntimeMethodHandle.cs
6542         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
6544 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6546         * EventArgs.cs
6547         * Exception.cs
6548         * ExecutionEngineException.cs
6549         * FieldAccessException.cs
6550         * FormatException.cs
6551         * GC.cs
6552         * Guid.cs
6553         * IndexOutOfRangeException.cs
6554         * IntPtr.cs
6555         * InvalidCastException.cs
6556         * InvalidOperationException.cs
6557         * InvalidProgramException.cs
6558         * IServiceProvider.cs
6559         * LoaderOptimization.cs
6560         * LoaderOptimizationAttribute.cs
6561         * MarshalByRefObject.cs
6562         * Math.cs
6563         * MemberAccessException.cs
6564         * MethodAccessException.cs
6565         * MissingFieldException.cs
6566         * MissingMemberException.cs
6567         * MissingMethodException.cs
6568         * MultiCastDelegate.cs
6569         * MulticastNotSupportedException.cs
6570         * NonSerializedAttribute.cs
6571         * NotFiniteNumberException.cs
6572         * NotImplementedException.cs
6573         * NotSupportedException.cs
6574         * NullReferenceException.cs
6575         * ObjectDisposedException.cs
6576         * ObsoleteAttribute.cs
6577         * OperatingSystem.cs
6578         * OutOfMemoryException.cs
6579         * OverflowExceptionException.cs
6580         * PlatformID.cs
6581         * PlatformNotSupportedException.cs
6582         * Random.cs
6583         * RankException.cs
6584         * ResolveEventArgs.cs
6585         * ResolveEventHandler.cs
6586         * RuntimeFieldHandle.cs
6587         * RuntimeMethodHandle.cs
6588         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
6589           removed excess usings
6591 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6593         * SystemException.cs: Exceptions set the HResult
6594         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
6595         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
6597 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6599         * TypedReference.cs
6600         * TypeLoadException.cs
6601         * TypeInitializationException.cs
6602         * TypeCode.cs
6603         * TimeZone.cs
6604         * ThreadStaticAttribute.cs
6605         * SystemException.cs
6606         * STAThreadAttribute.cs
6607         * StackOverflowException.cs
6608         * SingleFormatter.cs
6609         * Single.cs
6610         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
6611           removed excess usings
6613 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6615         * UnauthorizedAccessException.cs: Exceptions set the HResult
6616         * UInt64.cs: Implemented two missing methods
6617         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6618         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6620 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6622         * WeakReference.cs
6623         * Void.cs
6624         * Version.cs
6625         * ValueType.cs
6626         * UnitySerializationHolder.cs
6627         * UnhandledExceptionEventHandler.cs
6628         * UnauthorizedAccessException.cs
6629         * UIntPtr.cs
6630         * UInt64.cs
6631         * UInt32.cs
6632         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
6634 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
6636         * Environment.cs: Bump corlib version.
6638 2004-03-04  Jackson Harper  <jackson@ximian.com>
6640         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
6641         
6642 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
6644         * String.cs: Concat() fixed crash when one of the arguments is an object
6645           whose ToString() method returns null.
6646         * TypeLoadException.cs: Added some serialization fiels, needed for
6647           compatibility with MS.NET.
6649 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
6651         * String.cs (Equals): Speed up this method by avoiding Array
6652          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
6654         This gives between 0x (for 1 char) and >2x (for large strings)
6655         factor of improvement.
6657         A big thanks to Miguel, who suggested the integer compares.
6659 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6661         * MonoType.cs: use the binder in GetPropertyImpl.
6663 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6665         * Math.cs: MonoStyled, replaced space with tabs,
6666           speedup of some methods by avoiding method calls
6668 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
6670         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
6671           (Moved from InternalCall to Managed code).
6673 2004-02-17  Martin Baulig  <martin@ximian.com>
6675         * MonoType.cs (GetConstructors): Renamed the interncall to
6676         GetConstructors_internal(), made it internal and added a `Type
6677         reflected_type' argument to it.
6678         (GetEvents, GetFields): Likewise.
6679         (GetMethodsByName): Added `Type reflected_type' argument.
6680         (GetPropertiesByName): Likewise.
6682 2004-02-16  Jackson Harper  <jackson@ximian.com>
6684         * FloatingPointFormater.cs: Allow precision to be up to the number
6685         of decimals without rounding.
6686         
6687 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
6689         * Delegate.cs (Equals): Do not compare method_ptr, since it might
6690         point to a trampoline.
6692 2004-02-12  Jackson Harper  <jackson@ximian.com>
6694         * AppDomainSetup.cs: If relative paths are used they should be
6695         rooted in the temp directory.
6696         
6697 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
6699         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
6701 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
6703         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
6704         avoid an assert in the runtime.
6706 2004-02-08  Duncan Mak  <duncan@ximian.com>
6708         * Convert.cs (ToType): Always let a Convert.ChangeType call
6709         succeed if the source object is already of the destination type.
6711         Patch by Ian MacLean (ianm@activestate.com).
6713 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
6715         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
6717 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
6719         * Environment.cs: Bump corlib version.
6721 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
6723         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
6724         fix bug #53461.
6726 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
6728         * Exception.cs: Changed ToString to remove the \n when no stack trace
6729         is present (which fixed a unit test for SecurityException). Changed
6730         all \n to Environment.NewLine.
6732 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
6734         * ContextBoundObject.cs: Removed TODO.
6736 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6738         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
6739         (double), which might round up.
6741 2004-01-19  Jackson Harper <jackson@ximian.com>
6743         * FloatingPointFormatter.cs: Use the default decimal digits count
6744         if they are not specified. This fixes bug #52927.
6745         
6746 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
6748         * Environment.cs: Bump version number.
6750 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
6752         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
6753         uses IsAssignableFrom(o.GetType()), which is not always valid for 
6754         transparent proxies (because GetType will not return the type of the remote
6755         object if its assembly is not present).
6757 2004-01-18  David Sheldon <dave-mono@earth.li>
6759   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
6760     integer mantassa. So: 1E+15, rather than 1.E+15.
6762 2004-01-18  David Sheldon <dave-mono@earth.li>
6764         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
6765         even though docs say it should be an ArgumentNull. Two test cases now
6766   pass. See also nickd's commit of 2003-12-24.
6768 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6770         * Environment.cs: increased corlib version.
6772 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
6774         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
6775         be reused because they could be modified. This fixes bug #52655.
6777 2004-01-12  Patrik Torstensson
6779         * Environment.cs: Bump corlib version number due to new StringBuilder
6780         
6781         * String.cs: New internal method to support the new StringBuilder that
6782         uses the string as a buffer (until ToString is called)
6784 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
6786         * Environment.cs: Bump corlib version number for real this time.
6787         
6788         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
6789         the runtime, so it can take into account the Culture etc.
6791         * Environment.cs: Bump corlib version number.
6792         
6793 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6795         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
6796         new parameter with the method name and a boolean for ignoring case.
6797         Removed some string comparisons no longer needed.
6799 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6801         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
6802         new parameter with the property name and a boolean for ignoring case.
6803         Fixes bug #52753.
6805 2004-01-11  David Sheldon <dave-mono@earth.li>
6807         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
6808         bug 52274.
6810 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
6812         * AppDomain.cs: Keep track of type resolve and assembly resolve 
6813         events in progress to prevent infinite recursion.
6815 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
6817         * Console.cs: Test for UTF-8 being present anywhere on the
6818         string, also do ToUpper instead of ToLower, which will work even
6819         around the ICU bug with different locales (#52065), and addresses #52101
6821 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
6823         * Environment.cs: Bump version.
6825 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
6827         * Type.cs (IsNotPublic): One would normally assume that
6828         IsNotPublic == !IsPublic, but this is not the case (note to MS,
6829         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
6830         correct for Nested types'
6832 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
6834         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
6835         even though docs say it should be an ArgumentNull. Sent email to MS
6836         about this "bug".
6838 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
6840         * Exception.cs: Several changes to make it compatible with MS.NET (needed
6841         for remoting interoperability): set a default value for hresult, added 
6842         initialization of class_name, serialization field RemoteStackTrace must
6843         be RemoteStackTraceString, added ser. field ExceptionMethod.
6845         * IndexOutOfRangeException.cs: Added serialization constructor.
6847 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
6849         * Int32 (Parse):
6850           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
6852 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
6854         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
6855         user supplied no parameter info, but not when the user supplied an
6856         empty parameter list. This fixes IKVM.
6858         * Environment.cs: Bump corlib version.
6860 2003-12-19  Dick Porter  <dick@ximian.com>
6862         * String.cs: Added Compare shortcut for length==0.
6864 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
6866         * Environment.cs: Bump corlib version.
6868 2003-12-17  Dick Porter  <dick@ximian.com>
6870         * String.cs: Fix StartsWith and EndsWith when the argument is the
6871         empty string.  Fixes bug 52283.
6873 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
6875         * Environment.cs (HasShutdownStarted): Implement.
6877 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
6879         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
6880         
6881         * Environment.cs: Bump version number.
6883 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6885         * DateTime.cs: don't bail out with that year out of range error on
6886         stuff like "MM/dd/yyyy HH:MM:ss".
6888 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
6890         * Environment.cs: Make it a const instead.
6891         
6892         * Environment.cs: Make version field static.
6894 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
6896         * Type.cs: Make DefaultBindingFlags protected.
6898         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
6899         Add new GacPath property + its associated icall.
6901 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
6903         * DateTime.cs : Bugs fixed (41845, 51422)
6904         * MonoType.cs : Exception message changed 
6906 2003-12-08  Martin Baulig  <martin@ximian.com>
6908         * Type.cs (MakeByRefType): New public method.
6910 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
6912         * Environment.cs: Add a version number for the corlib-runtime interface
6913         to make it easier to diagnose problems resulting from a mismatch 
6914         between the two.
6916 2003-12-08  Patrik Torstensson   <p@rxc.se>
6918         * Type.cs (GetMethod): Check type arguments within array
6919         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
6920         (same signature but different classes (derived level)
6922 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
6924         * Type.cs (MakeArrayType): Add argument checking.
6926 2003-12-06  Dick Porter  <dick@ximian.com>
6928         * String.cs: Don't use CompareInfo for non-culture-sensitive
6929         IndexOf and LastIndexOf methods.
6931 2003-12-06  Ravindra  <rkumar@novell.com>
6933         * DateTime.cs: Made Parse(string, IFormatProvider) method to
6934         use second argument. Fixed bug #51464.
6936 2003-12-04  Martin Baulig  <martin@ximian.com>
6938         * Type.cs (Type.MakeArrayType): New public method.
6940 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6942         * Buffer.cs:
6943         (BlockCopy): make the exception thrown helpful.
6945 2003-12-03  Dick Porter  <dick@ximian.com>
6947         * String.cs: Calling Replace on an empty string returns itself.
6949 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
6951         * MonoType.cs: Get rid of get_type_info, use a separate icall for
6952         each property instead.
6954 2003-12-02  Dick Porter  <dick@ximian.com>
6956         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
6957         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
6959 2003-12-01  Dick Porter  <dick@ximian.com>
6961         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
6962         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
6964 2003-11-28  Dick Porter  <dick@ximian.com>
6966         * Type.cs: 
6967         * MonoType.cs: 
6968         * Enum.cs: 
6969         * Boolean.cs: Do string compares with the Invariant culture.
6971 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
6973         * Array.cs: make the enumerator ICloneable
6975 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
6977         * Decimal.cs (ToXXX): Call Convert.ToXXX.
6979 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
6981         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
6982         Implement Load(byte[]) methods.
6984         * BadImageFormatException.cs: Fix ToString.
6986 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
6988         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
6989         GetConstructor, as done by MS.
6991 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6993         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
6995 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
6997         * TypeInitializationException.cs: Added missing serialization constructor.
6999 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7001         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
7002         ApplicationBase. The tests pass now with mono.
7004 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
7006         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
7008 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7010         * Environment.cs: use Directory in CurrentDirectory property.
7011         We were not throwing any exception when setting the directory to an
7012         invalid path.
7014 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7016         * Array.cs:
7017         * Delegate.cs: implemented 1.1 stuff.
7019         * Enum.cs:
7020         * IntPtr.cs: removed extra attribute.
7021         * PlatformID.cs: added WinCE.
7023 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7025         * ValueType.cs:
7026         (Equals): compare the fields of structs too.
7027         (GetHashCode): combine the hash code of all the fields.
7028         Fixes bug #50901 (will remove the icall in a couple of days).
7030 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7032         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
7034 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7036         * DateTime.cs: handle century when we try to parse 4-digit years and
7037         only 2 digits are present. Fixes bug #49394.
7039 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
7041         * Console.cs: On utf-8 consoles, use unmarked output.
7043 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7045         * IAppDomainSetup.cs:
7046         * _AppDomain.cs: 
7047         * Object.cs:
7048         * Type.cs: Added missing attribute
7050 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
7052         * Environment.cs: Added internal method for getting the path to 
7053         machine.config.
7054         
7055 2003-11-12 Jackson Harper <jackson@ximian.com>
7057         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
7058         enum. This fixes the SWF build.
7059         
7060 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
7062         * PlatformID.cs: Remove Unix platform, we cant expose constants
7063         that are not in the framework.
7065         * OperatingSystem.cs: Adjust for the breakage.
7067         * RuntimeMethodHandle.cs: Fix signature.
7069         * Double.cs: Fix signature of TryParse.
7071         * String.cs (Concat (object, object, object, object)): Add missing method.
7073         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
7074         in the .NET Framework.
7076         * Enum.cs: Hide constructor.  
7078         Fix ToUint16 to be explicitly implemented.
7080         * Console.cs: Add couple of extra missing methods (Write and
7081         WriteLine overloaded)
7083 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
7085         * AppDomain.cs, Activator.cs: New unimplmented entry points from
7086         1.1 (Com activation related).
7087         
7088         * Exception.cs: Formatting.
7089         
7090         * IServiceProvider.cs: Add ComVisible (true).
7092         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
7094 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
7096         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
7097           #50356.
7099 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
7101         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
7102         on MonoMethod instead of Invoke.
7104 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7106         * DateTime.cs: Fixed Add* methods handling. Now it works properly
7107         with extreme values (there is a bug with Overflow and Underflow in
7108         long type).
7110 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
7112         * DateTime.cs: Fixed a few format bugs.
7114 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
7116         * AppDomain.cs (InternalPushDomainRef): New icalls.
7118         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
7119         different appdomain.
7121 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
7123         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
7125 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
7127         * AppDomain.cs (IsFinalizingForUnload): Implement.
7129         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
7130         to unmanaged code.
7132 2003-10-25  Martin Baulig  <martin@ximian.com>
7134         * MonoType.cs: Don't make this sealed.
7136 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
7138         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
7140 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
7142         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
7143         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
7145 2003-10-22  Dick Porter  <dick@ximian.com>
7147         * DateTime.cs: Handle '-' as a date separator when parsing formats.
7149 2003-10-20  Duncan Mak  <duncan@ximian.com>
7151         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
7152         and merge the two iterations into one.
7154 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
7156         * TypedReference.cs: Add new field used by the runtime.
7158 2003-10-15  Martin Baulig  <martin@ximian.com>
7160         * Type.cs (Type.DeclaringMethod): For a generic method's type
7161         parameter, return this method - otherwise, return null.
7163 2003-10-14  Martin Baulig  <martin@ximian.com>
7165         The generics API has changed in the spec since it was added here;
7166         these modifications make it match the spec again.
7168         * Type.cs
7169         (GetGenericParameters): Renamed to `GetGenericArguments'.
7170         (HasGenericParameters): Renamed to `HasGenericArguments'.
7171         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
7172         (IsGenericTypeDefinition): New property.
7173         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
7175         * MonoType.cs (ContainsGenericParameters): Implement this here;
7176         this is no interncall anymore.
7178 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7180         * Delegate.cs: add the method name to the exception when it cannot be
7181         bound.
7182         * Exception.cs: fix nullref in Source.
7184 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
7186         * Array.cs: Add argument checking to GetValue and SetValue.
7188 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
7190         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
7191         should not be TimeSpan.MaxValue, because it overflow.  Set this to
7192         be MAX_VALUE_TICKS
7194 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7196         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
7197         duplicate entry exception.
7199 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
7201         * DateTime.cs (ToString): Total rewrite, fixes #49358.
7203 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
7205         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
7207 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7209         * Enum.cs:
7210         (Equals): check that the object is an Enum before comparing the types.
7212 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7214         * Array.cs: reduced xsp allocated memory by 1/2.
7216 2003-09-25  Martin Baulig  <martin@ximian.com>
7218         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
7219         since it was identical to GetGenericTypeDefinition().
7220         (Type.IsGenericInstance): New property.
7222 2003-09-24  Duncan Mak  <duncan@ximian.com>
7224         * Math.cs (Abs): Fix double Locale.GetText bug reported by
7225         davejp@volny.cz. This fixes #48788.
7227 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
7229         * FloatingPointFormatter.cs: Add the necessary castings to char
7230         conversions.
7232 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7234         * FloatingPointFormatter.cs: Make the method calls more functional
7235         for protecting the values from different threads (make it more
7236         thread safe).
7238 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7240         * FloatingPointFormatter.cs: Fix a bug with the negative value of
7241         count parameter.
7243 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
7245         * FloatingPointFormatter.cs: Applied a lot of improvements in string
7246         construction, make use of Append/Insert with the "count" parameter.
7247     Thanks to Ben Maurer.
7249 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7251         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
7253         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
7254         last change.
7256 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7258         * DoubleFormatter.cs: A few optimizations. Now, only one object
7259         is created to convert all double numbers.
7261         * SingleFormatter.cs: A few optimizations. Now, only one object
7262         is created to convert all float numbers.
7264         * FloatingPointFormatter.cs: Split the "number type parameters" from
7265         the "numver value and format parameters". The first ones are in the
7266         constructor and the others are in a method.
7268 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
7270         * Array.cs: Added argument checking to some NET_1_1 methods.
7272 2003-09-04  Martin Baulig  <martin@ximian.com>
7274         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
7276 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7278         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
7279         taking 'longs'. All tests pass.
7281 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7283         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
7284         Source. Remove MonoTODO attributes (class is 100% done). Also
7285         passes all Rotor tests for Exception!
7287 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7289         * Enum.cs: Remove [MonoTODO]'s that had been completed.
7291 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7293         * String.cs: fixed bug #47802.
7295 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
7297         * String.cs: Created method FormatHelper that does formatting,
7298         using a StringBuilder.
7300 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7302         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
7304 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7306         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
7307         methods under MS.
7309 2003-08-11  Duncan Mak  <duncan@ximian.com>
7311         * Environment.cs (Version): Return the same numbers as the MS
7312         implementation.
7314 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
7316         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
7317         replicated tests, and have a routine that does the heavy lifting.
7319 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
7321         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
7322           of DateTime.
7323         * Environment.cs: return $HOME for ApplicationData folder.
7325 2003-08-04  Duncan Mak  <duncan@ximian.com>
7327         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
7328         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
7329         floating point values. This fixes bug #46175.
7331         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
7332         noted by c5n4kh6u02@sneakemail.com in
7333         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
7335 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
7337         * Double.cs: added icall Double.AssertEndianity.
7339 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7341         * Type.cs, MonoType.cs: implemented generic-specific methods.
7343 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
7345         * Buffer.cs: Add new internal MemCopy call.
7347         Removed the above.
7349 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7351         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
7352         to icalls, to avoid special cases in some call conventions.
7354 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7356         * Enum.cs: added Serializable attribute.
7358 2003-07-25  Duncan Mak  <duncan@ximian.com>
7360         * AppDomain.cs (Equals):
7361         (GetHashCode): Removed because they do not need to be defined
7362         here.
7364 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7366         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
7367         cannot even get the type.
7369 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
7371         * Type.cs: Added generics stubs.
7373 2003-07-23  Duncan Mak  <duncan@ximian.com>
7375         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
7376         as values for NET_1_1.
7377         (GetFolderPath): Return the empty string ("") for values of
7378         SpecialFolder that have no corresponding equivalents in
7379         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
7380         and "$HOME" for SpecialFolder.Personal.
7382         * IntPtr.cs (GetObjectData): Mark it as an interface
7383         implementation, instead of a public method.
7385         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
7387         * TypeLoadException.cs (GetObjectData):
7388         Create stubs for the fields that are being serialized.
7390         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
7392 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
7393         
7394         * Enum.cs: Fixed enum formatting. For flag enums, if one of
7395           the flags is unnamed, ToString() returns the integer value.
7397 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
7399         * Guid.cs: Fixed ToString (), was producing incorrect string.
7401 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7403         * AppDomainSetup.cs: fixed bug #46609.
7405 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
7407         * MonoType.cs: use an icall for IsPrimitiveImpl ().
7409 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7411         * Guid.cs: faster ToString ().
7413 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
7415         * FloatingPointFormatter.cs: Few changes for get working Rotor
7416         tests.
7418 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
7420         * Type.cs (IsAssignableFrom): Implement this as an icall since the
7421         runtime already includes the neccessary logic.
7423 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7425         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
7426         if it's present and get the full path for non-Uri paths.
7428 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
7430         * DateTime.cs: Fixed formatting of fractions of second.
7432 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
7434         * Console.cs: Turn off buffering for the streams returned by
7435         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
7437 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
7439         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
7440           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
7441           a new random number (although it is not needed), while mono did not. 
7442           As a result, the sequence of random numbers could be different for the
7443           same seed.
7445 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
7447         * FloatingPointFormatter.cs: use dec_len2 as default precision.
7449 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7451         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
7452           be done after the correspondig UTC offset has been applied.
7454 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7456         * Object.cs: Object must have the Serializable attribute.
7457         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
7458           to the resulting date. Also fixed _ToString so now correctly formates the
7459           UTC offset.
7461 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
7463         * Enum.cs: fix race in cache (bug#41841).
7465 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
7467         * FloatingPointFormatter.cs: if the precision is not specified, use
7468         the default precision for the data type.
7470 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
7472         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
7473         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
7475 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7477         * MonoType.cs: don't throw nullref when the return type for a property
7478         is specified and the property doesn't have a get accessor.
7480 2003-06-10  Duncan Mak  <duncan@ximian.com>
7482         * Array.cs (CreateInstance): Fixed a typo. It should throw
7483         ArgumentNullException instead of ArgumentException.
7485 2003-06-09  Duncan Mak  <duncan@ximian.com>
7487         * Array.cs: Revert the last revert. I fixed it.
7488         (Sort): Put a try-catch block around qsort, and wrap whatever
7489         Exception we get into a InvalidOperationException.
7491 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
7493         * Array.cs: Revert last patch, it broke some other functionality.
7494                 
7495 2003-06-08  Duncan Mak  <duncan@ximian.com>
7497         * Array.cs: Throw more exceptions. This fixes the errors we see
7498         from the Rotor testsuite.
7500         (CreateInstance): Throw ArgumentNullException when the input are
7501         null. Throw ArgumentOutOfRangeException when bounds + length is
7502         greater than Int32.MaxValue.
7503         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
7504         the valid range of indices of array.
7505         (Sort): Throw InvalidOperationException when comparer is null and
7506         none of the elements in keys implements IComparable.
7508 2003-06-08  Duncan Mak  <duncan@ximian.com>
7510         * Array.cs (CreateInstance): Throw a TypeLoadException if the
7511         Length of the input array 'lengths' is greater than 255 so that we
7512         won't see the g_assert that is in mono_array_class_get in class.c.
7514         This fixes bug #44304.
7516 2003-06-05  Nick Drochak  <ndrochak@gol.com>
7518         * UnitySerializataionHolder.cs: Cleanups according to class status page
7520 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
7522         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
7523         RuntimeTypeHandle.cs: implemented the needed stuff to handle
7524         vararg calls.
7526 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
7528         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
7529         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
7530         for Ben Maurer after review and testing.
7532 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
7533         
7534         * Array.cs: Added better argument checking to Array.Sort ()
7535         * DBNull.cs: Made the conversions throw like they do in MS.
7537 2003-05-24  Philip Van Hoof  <me@freax.org>
7539         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
7541 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
7543         * FloatingPointFormatter.cs: Take care with the explicit precision
7544         and round the number to that precision.
7546         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
7548         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
7550 2003-05-20  Philip Van Hoof <me@freax.org>
7552         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
7553         Implemented.
7555 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
7557         * AppDomainSetup.cs: Added new field which is used to notify the
7558         runtime that the search path has changed.
7560 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
7562         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
7563         introduced the last change I've done.
7565 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
7567         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
7568         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
7569         behaving correctly).
7570         
7571 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
7573         * FloatingPointFormatter.cs: Fixed little format mismatches.
7575 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7577         * FloatingPointFormatter.cs: Fixed "-0" result emited.
7579 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7581         * AppDomain.cs: Added null argument check in Load().
7582         * Activator.cs: fixed bug #39926.
7584 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7586         * Enum.cs: fixed bugs #41522 and #42879.
7588 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
7590         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
7591         undocumented MS behaviour.
7593 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7595         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
7596         Jaime.
7598 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7600         * String.cs: fixed bug #41411 and another similar problem in
7601         LastIndexOf (string).
7603 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7605         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
7606         bug #42695.
7608 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
7610         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
7611         construction if the delegate list only has one element.
7613 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7615         * Environment.cs: Changed the method GetFolderPath because it must
7616         return at least a directory name (not null).
7618         * Convert.cs: In ToType, if the destination type is unknown, try to
7619         cast the value to object (then, the calling method will downcast it
7620         to the type it wants).
7622 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7624         * Enum.cs: fixed bug #41522.
7626 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7628         * Enum.cs: protect with the lock also the lookup (bug #41841).
7630 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
7632         * MonoType.cs: allow a null name if InvokeMember is called with
7633         BindingFlags.CreateInstance set.
7635 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7637         * Enum.cs: reverted my previous patch.
7639 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7641         * Enum.cs: fixed bug #41841.
7643 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7645         * MonoType.cs:
7646         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
7648 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7650         * FloatingPointFormatter.cs: Little fixes for get the same results
7651         as MS.NET and show a message when something goes wrong with the
7652         parser of Custom Formats.
7654 2003-04-22  Nick Drochak  <ndrochak@gol.com>
7656         * Double.cs (ToString):
7657         * Single.cs (ToString): Handle case where param is a CultureInfo.
7659 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
7661         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
7662         ValueType::Equals() icalls static non-virtual, so they can be called
7663         by the code in RuntimeHelpers.
7665 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
7667         * Delegate.cs (operator ==): Do not crash if the second argument
7668         is null.  Bug fix submitted by Juan Cri.
7670 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
7672         * Array.cs: Deleted the exception in Array.Initialize(), it looks
7673         like the method do nothing for C#, is still a MonoTODO until
7674         we find a compiler that uses that.
7676 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
7678         * Delegate.cs (Delegate): Seems like a typo, we were checking the
7679         a field rather than the argument 
7681         * MonoType.cs: Make GetNestedType an external method implementation.
7683 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7685         * Enum.cs: fixed bug #41294.
7687 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7689         * DateTime.cs: fixes bug #40910, part 2.
7691 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
7693         * String.cs (Equals): avoid the internal call, code cleanups
7695 2003-04-11  Alan Tam <Tam@SiuLung.com>
7697         * Convert.cs: fixed bug #41085.
7699 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
7701         * AppDomain.cs: Added internal method for getting process guid.
7703 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
7705         * Array.cs: Little fix to compare () method.
7706         
7707 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
7709         * String.cs (Equals): Add trivial optimization.
7711 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7713         * DateTime.cs: fixed bug #40910.
7715 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
7717         * Console.cs: Make stderr, stdout and stdin use synchronized
7718         versions of the their readers/writers.
7720 2003-04-04  Dick Porter  <dick@ximian.com>
7722         * Version.cs: Make operator== and operator!= cope with null
7723         objects.  Didn't change operator<, operator<=, operator> or
7724         operator>= because its not meaningful to use those to compare
7725         against null, and throwing a NullReferenceException is probably
7726         the best thing to do there anyway.
7728         Fixes bug 40720.
7730 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7732         * AppDomain.cs: fixed InvalidCastException.
7734 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
7736         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
7737         type checks and let it decide whenever a fast copy is possible.
7739 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7741         * MonoType.cs:
7742         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
7744 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
7746         * Activator.cs (CreateInstance): Call GetConstructor with the right
7747         arguments so the nonPublic argument is handled correctly.
7749 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7751         * Type.cs: fixed bug #40123.
7753 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7755         * FloatingPointFormatter.cs: Fixed some bugs for get the same
7756         results than MS.NET. Added simple error recovering, now ToString
7757         will return a general format if there is any exception in the
7758         process of formatting. This make the library more robust while the
7759         formatters are refined.
7761 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7763         * FloatingPointFormatter.cs: Added support for group separators.
7765 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7767         * Single.cs:
7768         * Double.cs: Apply changes of .ToString methods.
7769         * SingleFormatter.cs:
7770         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
7771         * FloatingPointFormatter.cs: New class. Implementation of double and
7772         single formatters. It is unified now and parametrized with precission
7773         values.
7775 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
7777         * AppDomain.cs: fixes bugs #39380 and #39331.
7779 2003-03-06  Nick Drochak  <ndrochak@gol.com>
7781         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
7783 2003-03-04  Dick Porter  <dick@ximian.com>
7785         * Single.cs:
7786         * Double.cs: Temporarily reverted the Double and Single ToString()
7787         change, because it broke nunit.
7790 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
7792         * Double.cs: Changed ToString method. Added NumberFormatInfo support
7793         with DoubleFormatter class.
7794         * Single.cs: Changed ToString method. Added NumberFormatInfo support
7795         with SingleFormatter class.
7796         * DoubleFormatter.cs: New class with Double formatting functions.
7797         * SingleFormatter.cs: New class with Single formatting functions.
7799 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
7801         * Activator.cs: Added support for activation using activation attributes.
7802         * AppDomain.cs: Added internal method to get the default context from the runtime.
7804 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
7806         * DateTime.cs: FileTime is expressed in Universal time, and as such must
7807         be converted before subtracting the magic offset.
7808         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
7809         the timezone at the end) *must* be parsed by DateTime.Parse() for
7810         compatibility with Microsoft.
7812 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7814         * Attribute.cs:
7815         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
7816         #38238).
7818         * IntPtr.cs: added serialization .ctor
7820 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7822         * AppDomain.cs: check for null in Unload and changed method name.
7824 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7826         * MonoCustomAttrs.cs: fixed bug #38238.
7828 2003-02-17  Martin Baulig  <martin@ximian.com>
7830         * Exception.cs (Exception.ToString): Print a newline between the
7831         exception message and the stack trace.
7833 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7835         * AppDomain.cs: implemented GetCurrentThreadId ().
7837 2003-02-14  Patrik Torstensson
7839         * Exception.cs: Fixed message output formating
7841 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7843         * Int32.cs:
7844         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
7846 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
7848         * Type.cs: IsClass should return false for Enumerations
7850 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7852         * MonoCustomAttrs.cs: return the correct array type in the short case.
7853         Fixes bug #37818.
7855 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
7857         * Math.cs: Fix a few methods (like Round) and add with comments the
7858         new methods: BigMul and DivRem that were in ECMA specs.
7860 2003-02-07  Patrik Torstensson
7862         * Exception.cs: Fixed formating
7864 2003-02-05  Patrik Torstensson
7866         * AppDomain.cs: Partly fixed the unload method 
7867         
7868 2003-02-04  Patrik Torstensson
7870         * AppDomain.cs: Fixed lease issue with appdomain
7872 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
7874         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
7875           InitializeLifetimeService().
7877 2003-02-03  Patrik Torstensson
7879         * AppDomain.cs: New internalcalls for handling domain/context switches
7880         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
7882 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7884         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
7885         and ClearShadowCopyPath and fixed GetType ().
7887         * Attribute.cs: clean up.
7889         * Console.cs: removed UnixConsoleEncoding. Use Default.
7891 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7893         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
7894         GetCustomAttributes later.
7896 2003-01-31  Patrik Torstensson
7898         * Buffer.cs: Changed access level of BlockCopyInternal
7900 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
7902         * String.cs, IntegerFormatter.cs: use const where appropriate.
7904 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7906         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
7907         reporting.
7909 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7911         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
7912         The argument ICustomAttributeProvider can be of other types different
7913         from Type. Handle it.
7915 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
7917         * DateTime.cs: fix FromFileTime so the time returned by 
7918         File::GetLastModificationTime etc. is in the correct timezone.
7920 2003-01-28  Patrik Torstensson
7921         * Exception.cs: reverted formating/endline changes (sorry guys)
7923 2003-01-28  Patrik Torstensson
7925         * MarshalByRefObject.cs: implemented GetObjectIdentity
7926         * Exception.cs: added support for remote exceptions
7928 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7930         * DateTime.cs: fixed bug #37225.
7932 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7934         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
7936 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
7938         * AppDomain.cs: Added DoTypeResolve method which will be called by
7939         the runtime to raise TypeResolve events.
7941 2003-01-27  Duncan Mak  <duncan@ximian.com>
7943         * Enum.cs (ToType): Implement this using Convert.ToType.
7945 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
7947         * Math.cs: Remove Pow's implementation body as it was wrong.  The
7948         C code does the right thing.  The code was trying to handle a
7949         number of cases, and that was incorrect.
7951 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7953         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
7954         bug #37113.
7956 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7958         * Enum.cs: added caching to GetInfo.
7960 2003-01-23  Dick Porter  <dick@ximian.com>
7962         * Environment.cs (System): Implemented ExitCode
7964 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
7966         * Type.cs (IsInstanceOfType): fixed regression caused by the change
7967         to IsSubclassOf().
7969 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7971         * MonoType.cs: re-added lines that were removed in the previous commit.
7973 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
7975         * Type.cs: corrected property IsSerializable. It should always return
7976         true for enums and delegates
7977         * MonoType.cs: added serialization support.
7978         * Delegate.cs: added serialization support.
7979         * DBNull.cs: added serialization support.
7980         * UnitySerializationHolder.cs: supports serialization of Assembly,
7981         MonoType and DBNull.
7982         * DelegateSerializationHolder.cs: added.
7984 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7986         * Exception.cs: changed default message to match MS one.
7988 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
7990         * String.cs: Fixed bug with CompareOrdinal
7992 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7994         * Enum.cs: implements IFormattable.
7996 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7998         * AppDomain.cs: implemented DoCallBack method.
7999         * MonoType.cs:
8000         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
8001         Public, Instance.
8003         NUnit2 tests start moving.
8005 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8007         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
8008         instantiate an abstract class.
8010 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8012         * Type.cs:
8013         (IsSubclassOf): return false when null. Use != instead of Equals.
8015 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8017         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
8019 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
8021         * MonoType.cs: fixed Namespace property for nested types.
8023 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
8025         * MonoCustomAttrs.cs: create properly typed arrays when returning
8026         arrays of attributes of a given type.
8028 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
8030         * MonoType.cs: fixed MemberType property for nested types.
8032 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8034         * String.cs: fixed bug #36209.
8036 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8038         * Activator.cs: implemented method GetObject.
8040 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
8042         * Activator.cs: Since the documentation indicates the method
8043         either succeeds or throws one of the listed exceptions, we weren't
8044         expecting that CreateInstance might be returning null.
8046         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
8048 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8050         * MarshalByRefObject.cs: implemented CreateObjRef.
8052 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8054         * DateTime.cs: fixed bug #30076.
8055         * TimeZone.cs: provide the parameter name in a exception.
8057 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8059         * DecimalFormatter.cs: fixed bug #35560.
8061 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
8063         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
8065 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8067         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
8068         nulls. Fixes #34909.
8070 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8072         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
8073         returns a non-null assembly.
8075 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8077         * MulticastDelegate.cs: make GetInvocationList work for more than 1
8078         delegate.
8080 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8082         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
8083         if this is the correct order of invocation.
8085 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8087         * Type.cs: changed the signature of internal_from_name. Modified
8088         the overloads of GetType to use it and check the typeName argument.
8089         Implemented FindInterfaces.
8091 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8093         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
8094         some obscure reasons (try make -f makefile.gnu using a corlib which has
8095         the modified version).
8097 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
8099         * String.cs (Concat): Reduce the number of compares required. 
8101 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
8103         * Activator.cs: throw a MissingMethodException if the default
8104         constructor is not found in CreateInstance.
8106 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8108         * String.cs:
8109         (Equals (str, str)): use 'as' instead of casting to object.
8110         (Equals (obj)): check the length of the strings (until now,
8111         "Hello".Equals ((object) "Hellow World!) was true!).
8113 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8115         * MonoType.cs: implemented GetEvent (name, flags).
8117 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8119         * AppDomain.cs: implemented a couple of methods called from the runtime
8120         to fire AssemblyLoad and AssemblyResolve events.
8122 2002-10-31  Dick Porter  <dick@ximian.com>
8124         * Environment.cs: MonoIO methods now have an error parameter
8126 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
8128         * Enum.cs: Added support for whitespaces in Enum:Parse().
8130 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8132         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
8133         internal call. Closes bug #32992.
8135 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8137         * Exception.cs: display the inner exception, if any, in ToString ().
8139 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8141         * Environment.cs: fixed StackTrace property.
8143 2002-10-16  Nick Drochak  <ndrochak@gol.com>
8145         * Enum.cs (Parse): Then fix the code so that it works too.
8147 2002-10-15  Nick Drochak  <ndrochak@gol.com>
8149         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
8151 2002-10-12  Nick Drochak  <ndrochak@gol.com>
8153         * IntegerFormatter.cs: Fix compiler warnings.
8155 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
8157         * Type.cs (GetConstructors): Use the correct flags.
8159 2002-10-09  Nick Drochak  <ndrochak@gol.com>
8161         * IntegerFormatter.cs: Suppress insignificant leading zeros
8163 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
8165         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
8166         <stonewell@21cn.com> to return also derived types.
8168 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8170         * Activator.cs: little fix in CreateInstance (Type, bool).
8172 2002-09-19  Duncan Mak  <duncan@ximian.com>
8174         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
8175         I18N/Common from building right now.
8177 2002-09-19  Nick Drochak  <ndrochak@gol.com>
8179         * Array.cs (CopyTo): Account for Object type and base (primitive) types
8180         * Type.cs (IsAssignableFrom): return false for a null parameter
8182 2002-09-19  Nick Drochak <ndrochak@gol.com>
8184         * Array.cs (CopyTo): Check that source type can be cast automatically
8185         to the destination type.
8187 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8189         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
8190         GetDefaultMembers.
8192 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8194         * Char.cs: implemented ToString (char)
8195         * IntegerFormatter.cs: made it internal.
8197 2002-09-13  Nick Drochak  <ndrochak@gol.com>
8199         * Enum.cs (Format): handle the "d" format for both signed and unsigned
8200         underlying types.
8202 2002-09-12  Dick Porter  <dick@ximian.com>
8204         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
8205         attribute, as there doesn't appear to be any struct
8206         layout-depending code here (and corcompare says it should be
8207         LayoutKind.Sequential)
8209         * Decimal.cs: Stub out missing methods, add
8210         [DecimalConstantAttribute] to the constant fields (as shown by
8211         corcompare).
8213         * LocalDataStoreSlot.cs: 
8214         * Environment.cs: 
8215         * Char.cs: 
8216         * Array.cs: Stub out missing methods.
8218         * TypedReference.cs: 
8219         * ArgIterator.cs: Stub out
8221         * AppDomainSetup.cs: 
8222         * AppDomain.cs: Stub out missing methods, add missing
8223         ClassInterface(ClassInterfaceType.None) attribute.
8225 2002-09-12  Nick Drochak  <ndrochak@gol.com>
8227         * Double.cs (ToString): Throw exception when "X" format is passed in.
8229 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
8231         * MonoType.cs: implemented Module property.
8233 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
8235         * MonoType.cs, Type.cs: implemented InvokeMember.
8237 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
8239         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
8240         type. Check the method signature matches.
8242 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
8244         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
8246 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
8248         * Console.cs: Specify an encoder, otherwise we will get the UTF8
8249         encoder that by default emits the byte markers.
8251 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
8253         * Delegate.cs: look also for non-public methods until we have the
8254         security checks in place.
8256 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
8258         * MonoType.cs: consider also the full name in GetInterface.
8260 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8262         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
8263         GetMethodImpl using the binder.
8264         * Type.cs: GetConstructorImpl/GetConstructor fixes.
8266 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8267         * Enum.cs: Get rid of warning CS0162.
8269 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
8271         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
8272         actual value instead of public.
8274         * LocalDataStoreSlot.cs: Make constructor internal.
8276         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
8277         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
8278         instead of public.
8280 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8281         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
8282                    properly.
8284 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8286         * DateTime.cs: fixed buglet.
8288 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
8290         * MonoType.cs: speedup access to common data.
8292 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8294         * Double.cs: implemented TryParse.
8296         * Math.cs: PowImpl is now private.
8298         * MissingFieldException.cs: implemented Message.
8300         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
8302         * _AppDomain.cs: Uncommented ToString.
8304 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8306         * Type.cs:
8307         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
8309 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8311         * ArgumentException.cs: use the field instead of the property for
8312         param_name.
8314         * ArgumentOutOfRangeException.cs: modified Message.
8316         * DateTime.cs: 
8317         (_DoParse): throw out of range exception for year. Removed check
8318         for month (it's done in the constructor).
8320 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
8322         * Environment.cs: Implemented OSVersion property.
8324 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
8326         * Exception.cs: set stack_trace to null
8328 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
8330         * AppDomain.cs: implemented ToString().
8332 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8334         * AppDomain.cs: securityInfo can be null in CreateDomain.
8336 2002-08-19  Dick Porter  <dick@ximian.com>
8338         * MonoType.cs: Add a space before the Assembly name in
8339         AssemblyQualifiedName (needed for resource files so the MS runtime
8340         can load types)
8342 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8344         * AppDomain.cs: parameter name when throwing ArgumentNullException.
8346         * ArgumentException.cs: modified Message to do what MS does.
8348         * ArgumentNullException.cs: don't use {0} in message.
8350         * Exception.cs: use Message property in ToString ().
8352 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
8354         * WeakReference.cs: Changed the constructor and GetObjectData
8355         method needed for ISerializable implementation in order to be
8356         compatible with SOAP generated by MS.
8358 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
8360         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
8362 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
8364         * Exception.cs (ToString): changed the ouput format.
8366 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
8368         * MonoType.cs: moved get_method icall to this class, we can
8369         remove it as soon someone provides a full featured GetMethodImpl.
8371         * Type.cs: use GetMethodImpl everywhere.
8373         * Delegate.cs: new CreateDelegate implementations.
8375 2002-08-06  Tim Coleman <tim@timcoleman.com>
8376         * MonoType.cs: 
8377                 Fix bug #28582.  Now checks parameters for properties
8378                 in GetPropertyImpl.
8380 2002-08-04  Nick Drochak  <ndrochak@gol.com>
8382         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
8384 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8386         * String.cs:
8387         (FormatSpecifier): allow white space between the comman and the width
8388         specifier.
8390 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8392         * Int32.cs:
8393         * Int64.cs:
8394         * UInt32.cs:
8395         * UInt64.cs: fixed bug #28050. May be a MS bug?
8397 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
8399         * MonoType.cs: fix IsArrayImpl.
8401 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8403         * String.cs: make ToLower (culture) and ToUpper (culture) use the
8404         default ToLower and ToUpper and don't throw NotImplemented.
8406 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
8408         * Type.cs: make GettTypeCode an icall. Test implementation of
8409         GetMember().
8411 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8413         * AppDomainSetup.cs: implemented LoaderOptimization.
8415 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8417         * Activator.cs: some more intermediate results checking in
8418         in CreateInstance and CreateInstanceFrom and use GetConstructor and
8419         Invoke only with Type [] until the other overloaded versions work.
8421 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8423         * Activator.cs: reformatted. Implemented CreateInstance* methods
8424         that return ObjectHandle.
8426         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
8428 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8430         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
8431         the divisor is not) and avoid the icall, which seems to have a bug.
8433 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8435         * Double.cs (CompareTo): Correctly handle the case where the instance
8436         is NaN. Also return 0 if the values are equal.
8438 2002/07/03  Nick Drochak <ndrochak@gol.com>
8440         * MissingMethodException: Add missing Message property
8441         * MissingMemberException: Add missing Message property
8443 2002-06-30  Nick Drochak  <ndrochak@gol.com>
8445         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
8446         subtraction trick, it doesn't work when the values have a diference of
8447         less than one.
8449         * Single.cs (CompareTo): same
8451 2002-06-27  Martin Baulig  <martin@gnome.org>
8453         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
8454         constructor argument.  [FIXME: The implicit conversion to an
8455         unsigned integer doesn't work with mcs.]
8457 2002-06-26  Martin Baulig  <martin@gnome.org>
8459         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
8460         not `S = System'.  This file now compiles with mcs.
8462         * String.cs: Removed the already ifdef-outed __arglist Concat function
8463         to make it compile with mcs.
8465 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8467         * IntegerFormatter.cs:
8468         (FormatParse.FormatNumber): fixed custom format for negative numbers.
8470 2002-06-21  Martin Baulig  <martin@gnome.org>
8472         * Double.cs: Replace the private `enum State' with constants since this
8473         will avoid some bigger headaches in mcs.
8475 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
8477         * TimeSpan.cs: do not pollute the namespace with the
8478         System.Parser name.
8480 2002-06-18  Nick Drochak  <ndrochak@gol.com>
8482         * ArgumentException.cs: Use the message given in the constructor when
8483         accessing the Message property.  Thanks to Dietmar for the help with 
8484         "base".
8486 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
8488         * MonoType.cs: GetField is now a InternalCall
8490 2002-06-13  Nick Drochak  <ndrochak@gol.com>
8492         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
8493         sortable format(s), e.g. "2002-02-25"
8495 2002/06/12  Nick Drochak <ndrochak@gol.com>
8497         * Random.cs (Next): Fix math error.  Return a number within the range.
8499 2002-06-12  Nick Drochak  <ndrochak@gol.com>
8501         * String.cs (IndexOf): Return -1 if start index is equal to string
8502         length.
8504 2002-06-10  Duncan Mak  <duncan@ximian.com>
8506         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
8507         (ToType): Added null field in conversionTable to avoid
8508         IndexOutOfRangeException. Changed what exceptions we throw to match
8509         the spec.
8510         
8511 2002-06-11  Nick Drochak  <ndrochak@gol.com>
8513         * Int64.cs (Parse): Added unique strings to the messages where we throw
8514         a FormatException. Needed these to debug, so just left them in since
8515         they might be useful later. Fixed Currency parsing where we weren't
8516         looking at CurrencyDecimalSeparator, etc.
8518 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
8520         * DateTime.cs: fixes to pass tests M0 to M6:
8521                 if yy pattern then year values >= 30 are in 20th century
8522                 rfc1123 pattern is always in GMT, therefor useutc must be false
8523         made GetNow() internal static so it can be called from TimeZone.
8524         * TimeZone.cs: removed dependency on year 2002 from initialization of 
8525         current timezone.
8527 2002-06-09  Duncan Mak  <duncan@ximian.com>
8529         * Convert.cs (ToType): Rearranged what Exceptions we throw to
8530         match MS behavior.
8532 2002-06-08  Duncan Mak  <duncan@ximian.com>
8534         * Decimal.cs: Added support for the IConvertible interface.
8536 2002-06-08  Martin Baulig  <martin@gnome.org>
8538         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
8539         doesn't necessarily need to be of the enum's underlying type.
8541 2002/06/07  Nick Drochak <ndrochak@gol.com>
8543         * String.cs: Add [Serializable] to class
8544         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
8546 2002-06-04  Nick Drochak  <ndrochak@gol.com>
8548         * Double.cs (Parse): Recognize the group separator string, but still we
8549         don't check the format for the proper number of digits between
8550         separators. Also throw OverflowException when we get Pos or Neg
8551         Infinity from runtime.
8553 2002-06-03  Duncan Mak  <duncan@ximian.com>
8555         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
8557 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
8559         * Type.cs: fixed GetTypeCode.
8561 2002-06-02  Duncan Mak  <duncan@ximian.com>
8563         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
8564         cast from an int so that we throw OverFlowException correctly.
8565         
8566         (ToInt64): Use a new 64bit version of ConvertToBase.
8567         
8568         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
8569         and Int32.MaxValue).
8571         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
8573 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8575         * Convert.cs (ToSByte): Check for special value.
8576         * Single.cs (Parse): 
8577         * UInt16.cs (Parse):
8578         * UInt32.cs (Parse): Throw OverflowException if negative
8580 2002-06-02  Duncan Mak  <duncan@ximian.com>
8582         * Convert.cs (DBNull): Point it to DBNull.Value.
8583         (IsDBNull): Instead of checking typecodes, just check to see if
8584         it's the same as the DBNull field.
8586 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8588         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
8590 2002-06-02  Duncan Mak  <duncan@ximian.com>
8592         * Char.cs (Parse): Simplify the Exception handling.
8594         * Convert.cs (ToDecimal): Remove call to Math.Round () when
8595         converting from a float.
8597 2002-05-30  Martin Baulig  <martin@gnome.org>
8599         * MonoType.cs (GetInterface): Implemented.
8601 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8603         * Activator.cs: implemented CreateInstance ().
8605 2002-05-22  Duncan Mak  <duncan@ximian.com>
8607         * Convert.cs (ConvertToBase): Added new 64bit version.
8608         (BuildConvertedString64): New 64bit version of
8609         BuildConvertedString.
8611         This fixes bug 25068.
8613         (ConvertFromBase): Added additional test for checking if the
8614         digits are valid. Thanks to Miguel for coming up with this test.
8616         This fixes bug 25071.
8617         
8618 2002-05-21  Duncan Mak  <duncan@ximian.com>
8620         * Convert.cs (ToType): Rearranged to fit the new layout of
8621         conversionTable.
8623         (conversionTable): Rearranged to fit the layout of the
8624         System.TypeCode enum.
8626         This should fix bug 25075.
8627         
8628 2002-05-21  Duncan Mak  <duncan@ximian.com>
8630         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
8631         mixed up the two code paths, one for converting to a specific base
8632         (this case), another from converting from a foreign base to base10
8633         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
8635         * Convert.cs (ToByte)
8636         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
8637         that we won't confuse FormatException with OverflowException.
8639 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
8641         * Environment.cs: CommandLine missed spaces between arguments.
8642         Implemented StackTrace. Returning MachineName in UserDomainName
8643         instead of null.
8644         
8645 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
8647         * MonoCustomAttrs.cs: handle inherit argument.
8649 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8651         * Math.cs (Pow): Change icall method name and insert parameter
8652         checks in for infinities and NaN.
8654 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
8656         * Double.cs (Parse): Reimplement by cleaning up the string first,
8657         and then passing to strtof in the mono runtime.
8659         * Single.cs (Parse): Use the Double implementation and cast to
8660         float. 
8662 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8664         * Math.cs 
8665                 (Ceiling): Check for "special" values
8666                 (Floor): Check for "special" values
8667                 (Round): Fix off-by-one error on decimal shifting
8669 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
8671         * DateTime.cs: ToString () using "G" format specifier 
8673 2002-05-19  Martin Baulig  <martin@gnome.org>
8675         * Convert.cs (FromBase64CharArray): Do correct exception handling.
8677 2002-05-19  Martin Baulig  <martin@gnome.org>
8679         * Convert.cs (FromBase64CharArray): Convert the char array using
8680         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
8681         a byte array.
8683 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
8685         * MonoType.cs: Style changes.
8687         * Type.cs: Style changes.
8689 2002-05-16  Piers Haken <piersh@friksit.com
8691         * UInt64.cs: fix declaration of IConvertible.To* overrides.
8693 2002-05-16  Nick Drochak  <ndrochak@gol.com>
8695         * BitConverter.cs (ToString): Add parameter check for invalid start 
8696         index.
8698         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
8699         now that StreamWriter uses buffering
8701 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
8703         * Double.cs: Oops.  Also handle exponents without finding a dot.
8705 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8707         * ChangeLog: removed empty entry at the top of the file.
8709         * Int32.cs: made static functions used by Parse internal.
8711         * Int64.cs:
8712         * UInt32.cs:
8713         * UInt64.cs: removed static fucntions used by Parse and use the ones
8714         in Int32.cs
8716 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
8718         * IServiceProvider.cs: added using System
8720 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
8722         * Single.cs: copied ToString() and Parse() methods from 
8723         Double to Single and modified a tiny bit for Single.  
8724         There is still a FIXME for Double and Single about
8725         passing the format and provider info to the icall too.
8727 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8729         * Int32.cs:
8730         * Int64.cs:
8731         * UInt32.cs:
8732         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
8733         Don't use a delegate to test for valid digits.
8735 2002-05-01  Duncan Mak  <duncan@ximian.com>
8737         * Convert.cs: 
8738         * Math.cs: Added missing CLSCompliant attributes where necessary.
8739         
8740 2002-04-30  Duncan Mak  <duncan@ximian.com>
8742         * ArgumentException.cs (Message): 
8743         * ArgumentOutOfRangeException.cs (Message): Added.
8745 2002-04-30  Nick Drochak  <ndrochak@gol.com>
8747         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
8749 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
8751         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
8753 2002-04-28  Duncan Mak  <duncan@ximian.com>
8755         * DivideByZeroException.cs: Added missing serialization constructor.
8757         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
8759 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8761         * Math.cs: fix Floor () and Round (). Closes #23960.
8763 2002-04-27  Nick Drochak  <ndrochak@gol.com>
8765         * Array.cs (IList.Contains): Should throw a RankException if this is 
8766         called on a Rank > 1 array. Not in the docs, but this is what the 
8767         MS.NET does.
8769 2002-04-26  Duncan Mak  <duncan@ximian.com>
8771         * MissingMemberException.cs: Made the message variable 'protected'
8772         instead of 'private', so that we can see it in
8773         MissingMethodException and MissingFieldException.
8775         * MissingFieldException.cs:
8776         * MissingMethodException.cs: Added missing (string, string)
8777         constructor, and also the Message property.
8779 2002-04-26  Martin Baulig  <martin@gnome.org>
8781         * Enum.cs: Implemented the IConvertible methods.
8783 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8785         * SByte.cs: little change in Parse (string) to avoid incorrect
8786         OverflowException thrown (reported by nickd).
8788 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
8790         * ValueType.cs: Add Serializable attribute.
8792         * String.cs: ifdef-out out the __arglist Concat function until I
8793         add support for that to mcs.
8795 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
8797         * AppDomain.cs (GetValue): usage of the correct icall (bug)
8799 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
8801         * GC.cs: implement most of the methods as icalls.
8803 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8805         * DecimalFormatter.cs (ToString): return correct value when the
8806         decimal number is 0.
8808 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
8809         
8810         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
8811         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
8813 2002-04-24  Nick Drochak  <ndrochak@gol.com>
8815         * Double.cs (Parse): Handle case where there are no digits before the 
8816         decimal point, such as ".1".
8818 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8820         * Int32.cs:
8821         * UInt32.cs:
8822         * Int64.cs:
8823         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
8825 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
8827         * String.cs (Split): fixed invalid split of count 0 and 1.
8828         
8829 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
8830         
8831         * String.cs (LastIndexOf): fixed argument checking.
8832         * String.cs (Equals): made internal for performace.
8834 2002-04-23  Nick Drochak  <ndrochak@gol.com>
8836         * String.cs (Join): check argument and throw exception if needed
8838 2002-04-23  Nick Drochak  <ndrochak@gol.com>
8840         * String.cs (StartsWith): check argument and throw exception if needed
8842 2002-04-22  Nick Drochak  <ndrochak@gol.com>
8844         * String.cs (IndexOfAny): check arguments and throw exceptions as
8845         neccessary.  ALso remove some debug WriteLines.
8847 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
8849         * String.cs: use internal constructors
8850         buf fix in Concat.
8852 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
8854         * MonoType.cs: make GetElementType its own icall.
8856 2002-04-18  Nick Drochak <ndrochak@gol.com>
8858         * String.cs: Modified file. Re-add methods needed by the unit tests.
8860 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
8862         * String.cs: some code speedups and restored GetTypeCode().
8864 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
8866         * String.cs: New implementation using internal calls.
8867         
8868 2002-04-16  Nick Drochak  <ndrochak@gol.com>
8870         * DecimalFormatter.cs: Trim off excess null characters from the string
8871         that decimal2string gives back.
8873 2002-04-16  Nick Drochak  <ndrochak@gol.com>
8875         * String.cs (SubString): revert my change.  I can't reproduce the
8876         problem anymore.
8878 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8880         * Attribute.cs: added GetHashCode and Equals.
8882 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8884         * Enum.cs: little improvements to Format ().
8886 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
8888         * String.cs: internalcall GetHashCode().
8889         * Array.cS: optimize access to elements.
8891 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
8893         * String.cs: make IndexOfAny() use an internalcall.
8895 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8897         * Int32.cs:
8898         * UInt32.cs:
8899         * Int64.cs: 
8900         * UInt64.cs: fixed error when testing for validity of flags.
8902 2002-04-11  Nick Drochak  <ndrochak@gol.com>
8904         * Double.cs: Use an internal call for ToString(). This is just a simple
8905         implementation to get away from throwing a NotImplementedException.
8907 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8909         * Int32.cs:
8910         * UInt32.cs:
8911         * Int64.cs: 
8912         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
8913         lupus.
8915         * Int32.cs:
8916         * Int64.cs: throw an OverFlowException when parsing a string 
8917         containing a dot followed by any non '0' number.
8919 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8921         * Byte.cs:
8922         * UInt16.cs:
8923         * UInt32.cs:
8924         * UInt64.cs: added complex Parse ().
8926 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8928         * SByte.cs:
8929         * Int16.cs:
8930         * Int32.cs:
8931         * Int64.cs: added complex Parse ().
8933 2002-04-09  Nick Drochak  <ndrochak@gol.com>
8935         * Array.cs (BinarySearch): Add checks on paramters before using them
8936         and throw exceptions as needed.
8938         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
8939         "G" format to "F" if so.
8941 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
8943         * MonoCustomAttrs.cs: return arrays of type Attribute[]
8944         instead of object[].
8946 2002/04/09  Nick Drochak <ndrochak@gol.com>
8948         * String.cs (Substring): Copy only non-null characters to the new
8949         string.
8951 2002-04-09  Nick Drochak  <ndrochak@gol.com>
8953         * IntegerFormatter.cs: Don't use a format character to indicate a
8954         custom format was passed in. It was using 'z' to indicate a custom
8955         format, but really it should throw a format exception if the user
8956         tries to use "z" as the format string. Now it does.
8958         * Activator.cs: New File.
8960 2002-04-08  Nick Drochak  <ndrochak@gol.com>
8962         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
8963         applied to an enum. Need to handle the different possible integer
8964         types of an enum somehow.  Can anyone say generics?
8966 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
8968         * Convert.cs: switched the To*(object) methods to use
8969         IConvertible directly instead of calling ChangeType
8971 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
8973         * ValueType.cs: make Equals() an internalcall.
8975 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
8977         * Type.cs: also look for nested types in FindMembers.
8978         * MonoType.cs: make GetNestedTypes() an internalcall.
8980 2002-04-05  Nick Drochak  <ndrochak@gol.com>
8982         * Enum.cs (Parse): Handle different underlying types.
8984 2002/04/04 Nick Drochak <ndrochak@gol.com>
8986         * Enum.cs (IsDefined): Throw exception when type of value to look for
8987         is not the correct one.  Attempt to have it work with string values
8988         too, but not sure if the unit tests are getting that far yet.
8990 2002-04-04  Nick Drochak  <ndrochak@gol.com>
8992         * Decimal.cs: Fix a couple of typos.
8994 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
8996         * Enum.cs: the values array is of the enum and not of the underlying
8997         type. Updates and some bug fixes.
8998         * MonoType.cs: make the internalcall return FullName instead of the
8999         assembly qualified name.
9000         * Type.cs: make ToString () simply return FullName.
9002 2002-04-03  Nick Drochak  <ndrochak@gol.com>
9004         * Type.cs (GetTypeCode): provide some of the implementation for this
9005         method.  It's still too simplistic to be considered complete.
9007 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
9009         * Object.cs: fixed FieldGetter/FieldSetter signature
9011 2002-04-02  Nick Drochak  <ndrochak@gol.com>
9013         * Environment.cs: add MonoTODO's on parts that should have it.
9015 2002-04-01  Nick Drochak  <ndrochak@gol.com>
9017         * Enum.cs: added reality checks (check parameters to most methods that
9018         need them).
9020 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
9022         * Object.cs: added FieldGetter/FieldSetter
9024 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9026         * IntegerFormatter.cs: fixed initialization error in static
9027         constructor.
9029 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
9031         * Delegate.cs: added new field to store a trampoline function
9033 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9035         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
9036         make custom format strings work (not fully functional yet).
9038 2002/03/28  Nick Drochak <ndrochak@gol.com>
9040         * IntegerFormatter.cs: Change class from internal to public.  Add
9041         necessary [CLSCompliant(false)] attributes.
9043 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9044         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
9045         (was a typo)
9047 2002-03-28  Nick Drochak  <ndrochak@gol.com>
9049         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
9051 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
9053         * Console.cs: Modified to get std handles from MonoIO.
9054         * Environment.cs: removed PAL dependencies.
9056 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
9058         * String.cs (System): Removed internal enumeration, because
9059         bootstrapping the corlib at this point does not support
9060         enumerations. 
9062         * IntPtr.cs: Temporary work-around until I fix the assembly
9063         attributes bug.
9065 2002-03-24  Martin Baulig  <martin@gnome.org>
9067         * Enum.cs (GetValues): According to the docu this is sorted after
9068         values, not names.
9070         * String.cs (System): Removed enumeration, because it is pretty
9071         hard to support enumerations in /nostdlib mode for the core types.
9073 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9075         * Array.cs: move error handling in the catch block.
9076         * MulticastDelegate.cs: remove == and != operators that were
9077         removed with the delegate changes (when you add stuff, please do not
9078         remove existing functionality!).
9079         * Type.cs: if a property is not found in a type, search for it
9080         in the parent types, too.
9082 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
9083         
9084         * Math.cs: changed to use icall instead of PAL.
9086 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9088         * Double.cs: added check for NaN (Bug [22082])
9090 2002-03-19  Nick Drochak  <ndrochak@gol.com>
9092         * Enum.cs (Equals): check for null and throw if it is.
9093         * Enum.cs (Format): check for null parameters and throw if necessary.
9094         This method still needs more argument checking.
9096 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9098         * Enum.cs (Equals): check if Enums are of the same type
9100 2002-03-18  Nick Drochak  <ndrochak@gol.com>
9102         * Double.cs: Explicitly handle comparisons in CompareTo() for
9103         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
9105         * Enum.cs(CompareTo): Check types of values before trying to compare.
9106         Throw exceptions if types are invalid or don't match.
9108 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9110         * Array.cs: Add some extra debugging information.
9112 2002-03-15  Nick Drochak  <ndrochak@gol.com>
9114         * Array.cs: Added IList and IEnumerable. 
9116 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9118         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
9119         NonCLSCompliant. 
9121 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
9123         * Delegate.cs (Equals): also compare method_ptr 
9124         (GetHashCode): returm method_ptr as hash
9126 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
9127         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
9128         such as 42.ToString("0000000"), as these are (currently) not implemented
9129         in System.IntegerFormatter. TimeSpan luckely can do with Standard
9130         Numeric Format Strings, such as 42.ToString("D7").
9132 2002-03-12  Duncan Mak  <duncan@ximian.com>
9134         * FieldAccessException.cs: 
9135         * MethodAccessException.cs: 
9136         * PlatformNotSupportedException.cs: Inherit from
9137         MemberAccessException, not SystemException.
9139         * ObsoleteAttribute.cs: Made Message and IsError properties
9140         instead of fields.
9142 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
9144         * GC.cs: make SuppressFinalize() a nop.
9145         * Delegate.cs: fix == operator.
9147 2002-03-13  Nick Drochak  <ndrochak@gol.com>
9149         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
9150         runtime that goes with this patch.
9152 2002-03-10  Martin Baulig  <martin@gnome.org>
9154         * Int32.cs (Parse): Correctly parse negative numbers.
9156 2002-03-08  Martin Baulig  <martin@gnome.org>
9158         * String.cs (Split): Really fix it this time. Also adding several new
9159         testcase to the testsuite.       
9161 2002-03-08  Martin Baulig  <martin@gnome.org>
9163         * Array.cs (Copy): Optimized: removed duplicate null check, removed
9164         two duplicate GetLowerBound() calls and one duplicate IsValueType.
9166 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9168         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
9169         * String.cs: use the dumb code for IndexOf(string): this is worth
9170         15-20 % speedup in mcs compile with mint.
9172 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
9174         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
9176 2002-03-07  Martin Baulig  <martin@gnome.org>
9178         * String.cs (Join): Throw an ArgumentNullException.
9179         (LastIndexOf (string,int,int)): This method does a backwards search,
9180         so startIndex points to the end of value, not to its beginning. Don't
9181         throw an exception if startIndex equals this.Length. Always return -1
9182         if startIndex is smaller than the length of value.
9183         (Replace (string,string)): Replace all occurences of oldValue.
9184         If newValue is null, all occurences of oldValue are to be removed.
9185         (Split (char[],int)): Return an empty array if maxCount is zero, throw
9186         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
9187         elements, not maxValue+1.
9189 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
9191         * MonoType.cs: make GetEvents() an internal call.
9192         * MulticastDelegate.cs: copy the passed in array.
9194 2002-03-06  Martin Baulig  <martin@gnome.org>
9196         * Array.cs (Copy): Use FastCopy when appropriate and do correct
9197         exception handling.
9199 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
9200         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
9201         some of the failures found be new tests (see ChangeLog in 
9202         Test/System). Comments added to this method, based on
9203         the representation invariant of this class, that (try to) explain
9204         why it now should be correct.
9206 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
9208         * Int64.cs (Parse): bug fix for max. negative value. 
9210 2002-03-07  Nick Drochak  <ndrochak@gol.com>
9212         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
9213         I need to understand what the difference between the attribute and
9214         the interface is.
9216 2002-03-06  Martin Baulig  <martin@gnome.org>
9218         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
9219         an InvalidCastException if the widening conversion failed. See
9220         testcases #M94-#M96.
9222         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
9223         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
9224         for this.
9226         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
9227         (Copy): Actually allow copying multi-dimensional arrays.
9229 2002-03-05  Duncan Mak  <duncan@ximian.com>
9231         * Convert.cs:
9232         (DBNull) Added the missing field.
9233         (IsDBNull) Fixed typo.
9234         (ToByte (string, int)) Implemented.
9235         (ToString (byte, int)) Implemented.
9236         (ConvertToBase)
9237         (BuildConvertedString) internal functions used for converting values to
9238         a specific base.
9240         * Int16.cs: 
9241         * Int32.cs:
9242         * Int64.cs:
9243         * Single.cs:
9244         * UInt16.cs: 
9245         * UInt32.cs: Implemented the IConvertible interface.    
9247         * CharEnumerator.cs: Renamed to variables to be clearer and
9248         changed some of the tests to conform to the 1.0 spec.
9250 2002-03-06  Martin Baulig  <martin@gnome.org>
9252         * Array.cs (Copy): Calculate absolute array position here and use
9253         GetValueImpl() and SetValueImpl() with that position. We can now
9254         copy multi-dimensional arrays.
9255         (CopyTo): Small bug fix.
9257 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
9259         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
9260         Nick (See VersionTest.cs).
9261         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
9262         error comparing the current position (idx) against the length of the
9263         string iterated and it set idx to an unrecognized special value (-2)
9265 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
9267         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
9268         to do this dirty work, but someone has to do it (and I need it to pass
9269         the "200 sample tests compiled on linux" mark).
9271 2002-03-06  Nick Drochak  <ndrochak@gol.com>
9273         * Attribute.cs
9274         * DecimalFormatter.cs
9275         * Delegate.cs
9276         * Double.cs
9277         * GC.cs
9278         * Int16.cs
9279         * Int32.cs
9280         * MonoType.cs
9281         * RuntimeMethodHandle.cs
9282         * RuntimeTypeHandle.cs
9283         * String.cs
9284         * Type.cs:
9285                 Add [MonoTODO]'s to places where we currently throw a
9286                 NotImplementedException.
9288 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
9290         * Int16.cs (Parse): do not overflow on max negative value
9292         * Int32.cs (Parse): do not overflow on max negative value
9294 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
9296         * Type.cs: fixed IsClass.
9297         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
9298         IsByRefImpl. Added GetInterfaces().
9299         * IServiceProvider.cs: compilation fix.
9301 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
9303         * Array.cs: allow copying an empty array to an empty array.
9305 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
9307         * String.cs: fixed LastIndexOf (string) to do a bit of argument
9308         checking.
9310 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
9311         * Version.cs: many fixes to failures found by the newly created
9312         test cases for this class. Specifically, the CompareTo member
9313         returned wrong values due to the use of Int32.MaxValue as a special
9314         value indicating an "undefined" version component. Also implemented the
9315         missing operators (==, <, >, etc.), one missing constructor and
9316         and some exception throwing.
9318 2002-03-04  Nick Drochak  <ndrochak@gol.com>
9320         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
9321         * Attribute.cs: Add missing attributes: Serializable and
9322         AttributeUsage(AttributeTargets.All)
9324 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9326         * MonoType.cs: implemented GetConstructors(), GetFields(),
9327         GetMethods(), GetProperties().
9328         * Object.cs: added debugging icall obj_address().
9329         * Type.cs: fixed the binding flags for some Get* methods.
9330         Implemented FindMembers() as calls to the specific GetMember
9331         methods.
9333 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9334         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
9335         should give an exception for n>=s.Length.
9337 2002-03-01  Martin Baulig  <martin@gnome.org>
9339         * Array.cs: More argument checking and bug fixing.
9341 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
9343         * BitConverter.cs: Indentation match
9345         * AppDomain.cs: Added MonoTODOs to this too.
9347         * Buffer.cs: Added MonoTODOs to this.
9349 2002-03-01  Martin Baulig  <martin@gnome.org>
9351         * Array.cs: Added argument checking to all methods where it was missing.
9353 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9355         * BitConverter.cs: Fixed bugs in ToString methods
9357 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
9359         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
9361 2002-03-01  Nick Drochak  <ndrochak@gol.com>
9363         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
9364         ArgumentOutOfRangeException like the docs say.
9366 2002-03-01  Martin Baulig  <martin@gnome.org>
9368         * Enum.cs (CompareTo): Correctly override this method from IComparable.
9370         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
9372 2002-02-28  Martin Baulig  <martin@gnome.org>
9374         * String.cs: This file now passes the testsuite on Linux :-)
9375         
9376         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
9377         make them private and provide C# wrappers which do proper argument checking.
9379         * String.cs (Format): Correctly handle escaped brackets.
9381         * String.cs (_CompareChar): New internal function which compares two chars.
9382         (_Compare): Provide an internal compare method which can do all sorts of
9383         comparision and call it from all the Compare() methods. Also fixed a lot of
9384         bugs here, this code now actually passes the testsuite.
9386 2002-02-28  Duncan Mak  <duncan@ximian.com>
9388         * Convert.cs: Added the missing methods. The new class status page
9389         kicks ass, it even found my typos! Woohoo!
9390         (ConvertFromBase): Moved the Exception throwing in here and
9391         removed the other occurances so it's all centralized now.
9392         (ISDBNull): Implemented.
9393         (GetTypeCode): Implemented.
9395 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9396         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
9397         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
9398         states that a lacking format should be interpreted as "N".  
9399         Also added [Serializable] attribute
9400         * TimeSpan.cs: some formatting and added the [Serializable] attribute
9402 2002-02-26  Duncan Mak  <duncan@ximian.com>
9404         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
9406 2002-02-26  Martin Baulig  <martin@gnome.org>
9408         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
9409         fields of the interncall GetTimeZoneData.
9411         * DateTime.cs: Implemented Parse and fixed a few bugs.
9413         * String.cs (TrimStart): Small fix.
9415 2002-02-26  Martin Baulig  <martin@gnome.org>
9417         * DateTime.cs: ParseExact is now fully functional.
9419         * String.cs (TrimEnd): Small fix.
9421 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
9422         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
9423         missing for about six months.
9425 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9427         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
9429 2002-02-26  Martin Baulig  <martin@gnome.org>
9431         * DateTime.cs: Miguel already committed this, but there was still a
9432         ChangeLog entry for this missing ....
9433         We're now reusing functionality from TimeSpan, printing dates is
9434         fully implemented, currently working on parsing.
9436         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
9437         runtime for this.
9439 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
9441         * MonoType.cs: disable constructor.
9442         * Object.cs: make GetType() an internalcall.
9443         * Type.cs: added correct bindingflags to GetMethods ().
9444         All such calls should be reviewed to use the correct flags.
9446 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9448         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
9449         argument.
9451 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
9453         * Type.cs: implemented IsAssignableFrom.
9455 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9456         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
9457         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
9458         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
9459         The former is documented by Microsoft. The latter is how they
9460         actually implemented it in mscorlib:-)
9462 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9464         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9465         runtime.
9466         * MonoType.cs: Implemented custom attributes methods.
9469 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9470         * Guid.cs: 
9472 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9474         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9475         runtime.
9476         * MonoType.cs: Implemented custom attributes methods.
9478 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9480         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
9482 2002-02-19  Duncan Mak  <duncan@ximian.com>
9484         * Convert.cs: Finished up the missing methods in Convert. Added a
9485         new private method ConvertFromBase.
9487 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9489         * String.cs: impl. IConvertible interface
9491 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
9492         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
9494 2002-02-18  Duncan Mak  <duncan@ximian.com>
9496         * Convert.cs: Changed from using Type.GetType (string) to just
9497         typeof (). Probably will speed things up a bit?         
9499 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
9501         * Array.cs:         
9502         1. Fix for GetUpperBound to return correct values
9503         2. made some Properties virtual
9504         3. Adds IsFixedSize and IsReadOnly properties.
9505         4. changes CreateInstance(Type,int[],int[]) to throw Exception
9506         when third arg is null. InternalCall CreateInstance changed to  
9507         CreateInstanceImpl
9508         5. Fixed array.GetUpperBound at a couple of places
9509         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
9510         7. Added two FIXME's in BinarySearch functions.
9512 2002-02-17  Duncan Mak  <duncan@ximian.com>
9514         * TimeZone.cs:  Applied the rest of Ajay's patch for    
9515         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
9516         it works!
9518 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
9519         * Guid.cs: added stub for Guid(string) ctor
9521 2002-02-17  Duncan Mak  <duncan@ximian.com>
9523         * Convert.cs: Near-complete implementation of Convert.cs
9525         Added all the To* methods taking (object) and
9526         (object, IFormatProvider) as parameters.
9528         Added [CLSCompliant (false)] attributes to methods dealing with
9529         unsigned types.
9531         Added the missing section on converting to and from DateTime. Only
9532         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
9534 2002-02-16  Duncan Mak  <duncan@ximian.com>
9536         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
9537         make IsDaylightSavingTime (DateTime) call 
9538         IsDaylightSavingTime (DateTime, DaylightTime).  
9539         
9540         Added internal class CurrentTimeZone from Ajay. It needs more work
9541         to fill in the appropriate internal calls.
9542         
9543 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
9545         * Type.cs: fix IsClass.
9547 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
9549         * String.cs: fix Trim().
9551 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9553         * String.cs: fix more off by one errors.
9555 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
9557         * MonoType.cs: fix IsValueTypeImpl.
9558         * Type.cs: fix IsEnum. Implement Equals methods.
9560 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
9562         * Int32.cs: implement IConvertible interface.
9563         
9564 2002-02-12  Duncan Mak  <duncan@ximian.com>
9566         * TimeZone.cs: Implemented and added to CVS.
9568 2002-02-11  Duncan Mak  <duncan@ximian.com>
9570         * Convert.cs: Implemented the ChangeType () methods.
9572 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
9574         * Array.cs: make Clone() an internal call.
9576 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9577         * Changed Guid.NewGuid so that it can use both System.Random and 
9578           System.Security.Cryptography.RandomNumberGenerator
9580 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9581         * First version of Guid.NewGuid
9583 2002-02-08  Duncan Mak  <duncan@ximian.com>
9585         * RuntimeArgumentHandle.cs: Added to CVS.
9587 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
9589         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
9590         UnhandledExceptionEventHandler.cs: added delegates.
9592 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
9594         * MarshalByRefObject.cs: add ToString () method
9595         (apparently needed by nunit).
9596         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
9597         by it in the runtime.
9599 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
9600         
9601         * String.cs (Format): implemented
9603 2002-02-07  Duncan Mak  <duncan@ximian.com>
9604         
9605         * DuplicateWaitObjectException:
9606         * InvalidCastException:
9607         * NotImplementedException:
9608         * NotSupportedException:
9609         * NullReferenceException:
9610         * OutOfMemoryException:
9611         * OverflowException:
9612         * RankException:
9613         * StackOverflowException.cs:
9614         * UnauthorizedAccessException: Added missing constructor used for serialization.
9616 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
9618         * String.cs (System.Compare): bug fix 
9620 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
9622         * Enum.cs (Parse,  GetHashCode): impl. 
9624 2002-02-05  Duncan Mak  <duncan@ximian.com>
9626         * DBNull.cs: This is my first crack at the DBNull class. I think I
9627         actually got most of the IConvertible methods right, but I haven't
9628         done the research to test whether or not this is the correct
9629         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
9631         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
9633 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
9635         * Enum.cs: added more functionality (GetName, ToObject, Equals)
9637 2002-01-31  Duncan Mak  <duncan@ximian.com>
9639         * InvalidOperationException.cs:
9640         * NotFiniteNumberException.cs:
9641         * ObjectDisposedException.cs:
9642         * TypeInitializationException.cs: Added missing bits for serialization/
9643         
9644         * AppDomainUnloadedException.cs:
9645         * ApplicationException.cs:
9646         * ArgumentOutOfRangeException.cs:
9647         * ArithmeticException.cs:
9648         * ArrayTypeMismatchException:
9649         * BadImageFormatException.cs:
9650         * Exception.cs:
9651         * MissingMemberException.cs:
9652         * TypeLoadException.cs: Added missing bits for serialization.
9654 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
9655         * Guid.cs: implemented everything but Guid.NewGuid
9657 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
9659         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
9660         to have it in this interface and it screws up the method vtable setup.
9662 2002-01-28  Andrei Zmievski <andrei@php.net>
9664         * Double.cs: implemented IConvertible interface.
9666 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
9668         * ArgumentException.cs: Implement serialization constructor.
9669         (GetObjectData): Implement serializer.
9670         
9671         * ArgumentNullException.cs: Implement serialization constructor.
9673         * Exception.cs: Implement serialization constructor.
9674         (GetObjectData): Implement serializer.
9676 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9678         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
9680 2002-01-23  Duncan Mak  <duncan@ximian.com>
9682         * EntryPointNotFoundException.cs:
9683         * FormatException: Added missing constructor and related bits.
9685         * TypeLoadException: Added missing constructor, methods and properties.
9687 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9689         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
9690         manually getting the enumerator.
9692         (AppDomain.AppDomain): Prime the loaded assemblies with the
9693         assemblies loaded by the runtime in our behalf.
9695         * AppDomainSetup.cs: Remove private keyword, that is the default.
9696         Add a new property DisallowPublisherPolicy.
9698         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
9700 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
9702         * MonoType.cs, Type.cs: many updates, corrected implementation,
9703         completed stubs.
9705 2002-01-20  Andrei Zmievski <andrei@php.net>
9707         * Byte.cs:
9708         * Char.cs: implemented IConvertible interface.
9710         * Boolean.cs: use our own ToString() method directly.
9712 2002-01-20  Duncan Mak  <duncan@ximian.com>
9714         * Files I commited recently: Fixed indentation style.
9716 2002-01-20 Nick Drochak  <ndrochak@gol.com>
9718         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
9719         and delegates too. Added the appropriate usage flags.
9721 2002-01-18  Duncan Mak  <duncan@ximian.com>
9723         * CharEnumerator.cs: Implemented.
9724         * String.cs (System): Fixed the GetEnumerator () method(s).
9726         * ObsoleteAttribute.cs:
9727         * STAThreadAttribute.cs:
9728         * MTAThreadAttribute.cs:
9729         * ThreadStaticAttribute.cs:
9730         * LoaderOptimizationAttribute.cs:
9731         * PlatformNotSupportedException.cs:
9732         * LoaderOptimization.cs: Added to CVS.
9734 2002-01-18  Duncan Mak  <duncan@ximian.com>
9736         * AppDomainUnloadedException.cs:
9737         * MethodAccessException.cs:
9738         * ContextMarshalException.cs:
9739         * CannotUnloadAppDomainException.cs:
9740         * DllNotFoundException.cs:
9741         * EntryPointNotFoundException.cs:
9742         * FieldAccessException.cs:
9743         * TypeUnloadedException.cs:
9744         * MissingFieldException.cs: Added to CVS.
9746         * ApplicationException.cs: 
9747         * MemberAccessException.cs:
9748         * MissingMemberException.cs
9749         * MissingMethodException.cs:
9750         * SystemException.cs: Added [Serializable] attribute.
9752         * Exception.cs: Added [Serializable] attribute, made properties
9753         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
9754         spec.
9756         * ContextStaticAttribute.cs: Added [Serializable] attribute and
9757         put in the missing constructor.
9759         * Environment.cs: Commented out references to
9760         EnvironmentPermissionAttribute, because they're just stubbed out
9761         right now and has no implementation.
9763 2002-01-16  Andrei Zmievski <andrei@php.net>
9765         * Boolean.cs: implemented IConvertible interface
9767 2002-01-15  Nick Drochak  <ndrochak@gol.com>
9769         * ResolveEventArgs.cs: class should derive from EventArgs.
9771 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
9773         * String.cs (System): Use DefaultMemberName for the String class.
9775 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
9777         * String.cs: use IndexerName in index char accessor.
9779 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
9781         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
9782         * String.c: eliminate 64k+ method calls in search.
9783         * Type.cs: handle byref and array types in ToString ().
9785 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
9787         * Guid.cs: created first version
9789 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
9791         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
9793 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
9795         * MulticastDelegate.cs: add == and != operator stubs.
9796         * String.cs: check for null in == operator.
9797         * Type.cs: use a virtual method to get TypeAttributes.
9799 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
9800         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
9802 2002-01-09  Nick Drochak  <ndrochak@gol.com>
9803         
9804         * Environment.cs: Comment out Security attribute and put a MonoTODO
9805         there as a reminder.  We need mcs magic to handle security attributes in
9806         corlib.
9808 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
9809         * Created IAppDomainSetup.cs
9811 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
9812         * Created System._AppDomain interface in _AppDomain.cs
9814 2002-01-06  Nick Drochak  <ndrochak@gol.com>
9816         * ResolveEventArgs.cs: New File, completely implemented! ;)
9818 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
9820         * Enum.cs: dummy ToString impl.
9821         * String.cs: dummy format implementations to get compiler errors
9822         somewhat working.
9823         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
9825 2002-01-05  Ravi Pratap  <ravi@ximian.com>
9827         * TODOAttribute.cs : Augment some more; provide two constructors
9828         with support for a comment too.
9830 2002-01-05  Nick Drochak  <ndrochak@gol.com>
9832         * Uncommented those MonoTODO's now that Ravi's got
9833         the class in there
9835 2001-01-04  Ravi Pratap  <ravi@ximian.com>
9837         * TODOAttribute.cs : Actually add this time ;-)
9839         Change name to MonoTODO.
9841 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
9843         * String.cs (Trim): Fixed a few logic bugs in the code that
9844         calculated how much to trim off the end of the string.
9846 2001-01-04  Nick Drochak  <ndrochak@gol.com>
9847         
9848         * Commented out the [TODO] attributes for now.  We don't have the
9849         class written.  Also changed it to [MonoTODO]
9851 2002-01-04  Ravi Pratap  <ravi@ximian.com>
9853         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
9854         our class libraries that are incomplete.
9856         * Array.cs : Apply attribute wherever we find a FIXME which says
9857         we need something to be implemented there.
9859         * Int32.cs : Ditto.
9861         * MulticastDelegate.cs : Ditto.
9863         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
9864         RuntimeTypeHandle.cs : Ditto.
9866         * String.cs : Ditto.
9868         * Type.cs : Ditto.
9870         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
9872         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
9873         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
9875         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
9876         Delegate.cs : Ditto.
9878         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
9879         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
9880         
9881 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
9883         * Delegate.cs: add Remove() stub.
9884         * Enum.cs: add ToObject().
9885         * Type.cs: add IsEnum property.
9887 2002-01-03  Kristian Rietveld  <kris@gtk.org>
9889         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
9890         DateTime and object.
9892 2001-12-30  Nick Drochak  <ndrochak@gol.com>
9894         * Byte.cs (Parse): Add comments to aid in testing.
9896 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
9898         * Char.cs (Parse): Implement.
9900         * Byte.cs (Parse): Implement a fast parser.
9901         
9902         * SByte.cs (Parse): Implement a fast parser.
9904         * UInt16.cs (Parse): Implement a fast parser.
9905         
9906         * Int16.cs (Parse): Implement a fast parser.
9908         * UInt32.cs (Parse): Implement a fast parser.
9910         * Int32.cs (Parse): Implement a fast parser.
9912 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
9914         * Array.cs: fix null ref in sort code.
9915         * UInt64.cs: add bare-bones parse.
9917 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
9918         
9919         * Byte.cs: removed use of Regexes.
9921 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
9923         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
9924         IsDefined(), GetUnderlyingType().
9925         * String.cs: fix one instance of Compare().
9926         * Type.cs: implemented GetProperties(), GetProperty().
9928 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
9930         * Array.cs: implement CopyTo ().
9931         * Char.cs: implement ToString ().
9932         * Exception.cs: bugfix.
9933         * Int32.cs: bare-bones Parse ().
9934         * MonoType.cs: query the needed info with an internalcall.
9935         * String.cs: speedups, bugfixes, reduced copies.
9936         * Type.cs: added missing fields. Implemented many of the Is*
9937         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
9938         GetFields(), FindMembers(), ToString().
9939         
9940 2001-12-11  Dick Porter  <dick@ximian.com>
9942         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
9944         * Console.cs: Use handles rather than casting file descriptors
9946 2001-12-08  Nick Drochak  <ndrochak@gol.com>
9948         * Byte.cs (Parse): Start implementation. Parse(string) works, but
9949         now we need to handle other formats
9951 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
9953         * DateTime.cs: added an icall to GetNow()
9955 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
9957         * Double.cs: added the parse method from Bob Smith
9959 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
9961         * UInt64.cs: ditto.
9963         * UInt32.cs: ditto.
9965         * Int32.cs (Int32.CompareTo): Fix because we can not just
9966         substract the values.
9968         Return possitive value if the object is null.
9970         * Boolean.cs: (Boolean.CompareTo): ditto.
9972         * Int16.cs (Int16.CompareTo): ditto.
9974         * Byte.cs (Byte.CompareTo): ditto.
9976         * SByte.cs (SByte.CompareTo): ditto.
9978         * Char.cs (Char.CompareTo): ditto.
9979         
9980         * Decimal.cs (Decimal.CompareTo): ditto.
9982         * Int64.cs (Int64.CompareTo): ditto.
9984         * Single.cs: Ditto.
9986         * UInt16.cs: Ditto.
9988 2001-11-28  Nick Drochak <ndrochak@gol.com>
9990         * Byte.cs: Throw NotImplementedException for Parse.
9992 2001-11-27  Derek Holden  <dholden@draper.com>
9994         * IntegerFormatter.cs: Formatting of type "Number" was not
9995         using NumberFormatInfo.NumberNegativePattern.
9997 2001-11-26  Dick Porter  <dick@ximian.com>
9999         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
10000         the finalise routine any more
10002 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
10004         * ApplicationException.cs: internationalize by adding calls to
10005         Locale.GetText ().  And throw NotImplementedExceptions on calls
10006         that we have to implement.
10008         * Version.cs: Ditto.
10010         * ValueType.cs: ditto.
10012         * UnauthorizedAccessException.cs: ditto.
10014         * UInt32.cs: ditto.
10016         * UInt64.cs: ditto.
10018         * UInt16.cs: ditto.
10020         * TypeLoadException.cs: ditto
10022         * TypeInitializationException.cs: ditto.
10024         * Type.cs: ditto.
10026         * TimeSpan.cs: ditto.
10028         * SystemException.cs: ditto.
10030         * String.cs: ditto.
10032         * StackOverflowException.cs: ditto.x
10034         * Single.cs: ditto.
10036         * SByte.cs: ditto.
10038         * RuntimeTypeHandle.cs: ditto.
10040         * RuntimeMethodHandle.cs: ditto.
10042         * RuntimeFieldHandle.cs: ditto.
10044         * Random.cs: ditto.
10046         * OutOfMemoryException.cs: ditto.
10048         * OperatingSystem.cs: ditto.
10050         * ObjectDisposedException.cs: ditto.
10052         * NullReferenceException.cs: ditto.
10054         * NotImplementedException.cs: ditto.
10056         * NotFiniteNumberException.cs: ditto.o
10058         * MulticastNotSupportedException.cs: ditto.
10060         * MissingMethodException.cs: ditto.
10062         * MemberAccessException.cs: ditto.
10064         * Math.cs: ditto.
10066         * InvalidCastException.cs: ditto.
10068         * IntegerFormatter.cs: ditto.
10070         * Int32.cs: ditto.
10072         * Int16.cs: ditto.
10074         * IndexOutOfRangeException.cs: ditto.
10076         * Environment.cs: ditto
10078         * Enum.cs: ditto.
10080         * DuplicateWaitObjectException.cs: ditto.
10082         * DivideByZeroException.cs: ditto.
10084         * Delegate.cs: ditto
10086         * DecimalFormatter.cs: ditto.
10088         * Decimal.cs: ditto.
10090         * DateTime.cs: ditto.
10092         * Convert.cs: ditto.
10094         * Char.cs: ditto.
10096         * Byte.cs: ditto.
10098         * Boolean.cs: ditto.
10100         * ArrayTypeMismatchException.cs: ditto.
10102         * ArithmeticException.cs: ditto.
10104         * ArgumentOutOfRangeException.cs: ditto.
10106         * ArgumentNullException.cs: ditto.
10108         * Enum.cs: Make it derive from ValueType, add CompareTo method.
10110         * Attribute.cs: Reformat.
10112 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
10114         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
10115         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
10116         exception if the value is null too.
10118         * Char.cs (CompareTo): ditto.
10120         * ApplicationException.cs: Added constructor that does serialization.
10122         * ParamArrayAttribute.cs: Define attribute correctly.
10124 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
10126         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
10127         * Array.cs: fix Array.Copy.
10128         * AssemblyLoadEventArgs.cs: rename field.
10129         * CLSCompliantAttribute.cs: use correct name for the class.
10130         * Char.cs: fix IsLetter.
10131         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
10132         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
10133         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
10134         * Delegate.cs: renamed target field to m_target.
10135         * Enum.cs: added missing methods.
10136         * MonoType.cs: add a constructor and some needed properties.
10137         * Object.cs: implement GetType().
10138         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
10139         ending 0 char.
10140         * Type.cs: add missing methods/properties.
10142 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
10144         * AttributeUseage.cs: Should define AttributeUsageAttribute.
10146         * CLSCompliant.cs: Marked with AttributeUsage attribute.
10148         * Decimal.cs: Fixed CLSCompliant attributes.
10150         * Type.cs: changed _impl to internal (needs to be accessable by
10151         subclasses).
10153         (TypeHandle): Marked as abstract, implementation removed.
10155         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
10156         GetMethod): Added stub implementations so NUnit would link against
10157         corlib
10159 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
10161         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
10163 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
10165         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
10166         attribute. 
10168 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
10170         * String.cs: fix a couple of bugs.
10171         * AppDomain.cs: use new AppBuilder constructor.
10172         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
10173         NotImplementedException.cs, ObjectDisposedException.cs,
10174         UnauthorizedAccessException.cs: add implementation.
10175         * OverflowException.cs: fix class name.
10177 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
10179         * String.cs: Don't use a terminating nil char for our internal
10180         array.
10182 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
10184         * Delegate.cs (Delegate.CombineImpl): Implement.
10185         (Delegate.Combine): Implement.
10187         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
10189         (MulticastDelegate.CombineImpl): This was not as trivial as I
10190         thought. 
10192         * ContextStaticAttribute.cs: Added AttributeUsage to
10193         ContextStaticAttribute. 
10195         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
10197 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
10199         * added Decimal.cs * added DecimalFormatter.cs (internal class
10200         used from System.Decimal)
10202 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
10204         * Convert.cs: Added methods for Base64 transforming just used the
10205           existing System.Security.Cryptography.ToBase64Transform, should
10206           be changed to use a stand-alone class, e.g. Base64Encoder
10207           
10208 2001-10-10  Derek Holden  <dholden@draper.com>
10210         * IntegerFormatter.cs: Added. Implements ToString for all the
10211         integer data types for all the format types.
10213         * Byte.cs: Using IntegerFormatter for ToString's.
10215         * SByte.cs: Using IntegerFormatter for ToString's.
10217         * Int16.cs: Using IntegerFormatter for ToString's.
10219         * Int32.cs: Using IntegerFormatter for ToString's.
10221         * Int64.cs: Using IntegerFormatter for ToString's.
10223         * UInt16.cs: Using IntegerFormatter for ToString's.
10225         * UInt32.cs: Using IntegerFormatter for ToString's.
10227         * UInt64.cs: Using IntegerFormatter for ToString's.
10229 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
10231         * Exception.cs: Implement bits of serialization.
10233         * RuntimeFieldHandle.cs: Implement Serialization features.
10235         * Type.cs: Implement TypeHandle property.
10237 2001-09-28  Dick Porter  <dick@ximian.com>
10239         * LocalDataStoreSlot.cs: Implemented
10241 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10243         * String.cs: fix off-by-one error in Trim().
10245 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10247         * Type.cs: added GetType () method.
10249 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
10251         * MissingMethodException.cs, MissingMemberException.cs,
10252         MemberAccessException.cs: added.
10254 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
10256         * String.cs: don't access the string array out of bounds in
10257         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
10259 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
10261         * String.cs: make Intern and IsIntern internalcalls.
10263 2001-09-13  Dick Porter  <dick@ximian.com>
10265         * Type.cs: Added a stub for the IsValueType property.
10267         * SystemException.cs (System): Added the other constructor, so
10268         that System.Threading exceptions can inherit it.
10270 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
10272         * String.cs (TrimStart): Don't keep looping through the trimchars
10273         once we've found a match.
10274         (TrimEnd): Same here.
10275         (Trim): And finally here.
10277 2001-09-07  Ravi Pratap  <ravi@ximian.com>
10279         * Char.cs (IsLetterOrDigit): Implement.
10280         (IsLower): Implement, but we need to be Unicode aware.
10281         (IsNumber): Implement.
10282         (IsPunctuation): Implement.
10283         (IsWhiteSpace): Implement.
10284         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
10285         (ToLower): Same here.
10287 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
10289         * Object.cs: Shortcut, if (a == b) then return true.
10291 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
10293         * Delegate.cs: we need a pointer to the method thunk in
10294         the delegate object.
10296 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
10298         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
10300 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
10302         * String.cs (System): Don't mix uint and int.
10304 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
10306         * String.cs (BoyerMoore): Modified to not use pointers and to instead
10307         use indexes.
10308         (IndexOf): Use BoyerMoore.
10310 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
10312         * All over: Use the autogenerated enumerations from the ECMA
10313         documentation that Sergey wrote.
10314         
10315         * PlatformID.cs: Add Unix definition.
10317         * OperatingSystem.cs: Use Unix instead of Linux here.
10319         * MarshalByRefObject.cs: Mark class as [Serializable].
10321 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
10323         * Console.cs: impl. (write only)
10324         implemented the stdin stuff
10326         * Int32.cs: impl. real op_Equal
10328 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
10330         * (common.src): Removed IAsyncResult as it is not on CVS yet.
10332         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
10333         as it breaks the build.
10335 2001-08-23  Michael Lambert <michaellambert@email.com>
10337         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
10338         added CLSCompliant attribute
10340         * IAsyncResult.cs: Added
10342         * common.src: Added IAsyncResult.cs
10344 2001-08-23  Michael Lambert <michaellambert@email.com>
10346         * UIntPtr.cs: Added
10348         * common.src: Added UIntPtr.cs
10350 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
10352         * Attribute.cs: uncomment some code to make it compile again
10354         * mono.src: removed duplicated Attribute.cs
10356 2001-08-16  Nick Drochak <ndrochak@gol.com>
10358         * Attribute.cs: implemented all methods except GetHashCode()
10360         * common.src: added Attribute.cs so it would compile in
10362 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
10364         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
10365         marked it as InternalCall
10366         
10367         * common.src: removed UriFormatException.cs because the file is
10368         not there.
10370         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
10371         * Char.cs: replaced byte with char
10373         * Array.cs: make it work with the mono interpreter
10375 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10377         * Version.cs: Make the class sealed
10379 2001-08-08  Bob Smith  <bob@thestuff.net>
10381         * Random.cs: Many compile fixes.
10382         * Random.cs: I read a bad spec. Class updated to match real spec.
10384 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10386         * IntPtr.cs: Added and Completed implementation.
10388         * Uri.cs: Add a note.
10390 2001-08-06  Bob Smith  <bob@thestuff.net>
10392         * Random.cs: Compile fix. Needs more testing.
10394 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
10396         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
10397         into account IPv6 addresses, url encoding needs to be implemented, and 
10398         various minor methods need to be written, but this is a decent start.
10400 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
10402         * common.src: added Object.cs
10404         * mono.src: added ValueType.cs
10406 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
10408         * Math.cs: replaced libc with libm
10410 2001-08-02  Bob Smith  <bob@thestuff.net>
10412         * Random.cs: Implemented. Needs testing.
10414 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
10416         * IServiceProvider.cs, EventHandler.cs: New files.
10418 2001-08-02  Marcel Narings  <marcel@narings.nl>
10419         
10420         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
10421         Added exceptions. Added IConvertible. Still needs some platform 
10422         dependend stuff, the Parse and ToString members
10424 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
10426         * Type.cs (GetTypeFromHandle): added placeholder 
10428 2001-07-24  Derek Holden  <dholden@draper.com>
10430         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
10431         which is really an IConvertible defined method.
10433         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
10434         behavior, still need to do the main Parse and ToString.
10436         * Char.cs: Added a bunch of missing ECMA methods. Commented a
10437         specification discrepency. Still didn't any unicode stuff, though
10438         every IsFoo(char c) method has an IsFoo(string, index)
10439         counterpart, added wrappers for those.
10440         
10441         * Convert.cs: Fixed NaN/Inf checking and double/float
10442         rounding. Added ToType for IConvertible classes
10444         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
10445         IsNaN methods. Changed Inf/NaN internals.
10447         * IConvertible.cs: Added comments for using
10448         Convert.ToType. Changed return values to draft base values.
10450         * Int16.cs: Added a missing Parse statement. Put in behavior for
10451         overloaded ToString and Parse methods.
10453         * Int32.cs: Added a missing Parse statement. Put in behavior for
10454         overloaded ToString and Parse methods.
10456         * Int64.cs: Added a missing Parse statement. Put in behavior for
10457         overloaded ToString and Parse methods.
10458         
10459         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
10460         methods. Changed Inf/NaN internals.
10462         * SByte.cs: Added a missing Parse method. Put in Parse and
10463         ToString behavior, still need to do the main Parse and ToString.
10465         * UInt16.cs: Added a missing Parse statement. Put in behavior for
10466         overloaded ToString and Parse methods.
10468         * UInt32.cs: Added a missing Parse statement. Put in behavior for
10469         overloaded ToString and Parse methods.
10471         * UInt64.cs: Added a missing Parse statement. Put in behavior for
10472         overloaded ToString and Parse methods.
10473         
10474 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
10476         * MulticastDelegate.cs: New File.
10478         * Delegate.cs: New file.
10480         * Enum.cs: New file.
10482         * Attribute.cs: New file.
10484         * Type.cs: New file.
10486         * ParamArrayAttribute.cs: New file.
10488         * RuntimeTypeHandle.cs: New file.
10490         * MulticastDelegate.cs: Added.
10492         * DateTime.cs: Added
10494         * Delegate.cs: Added
10496 2001-07-18  Michael Lambert <michaellambert@email.com>
10498         * AttributeTargets.cs: Add.
10500 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
10502         * Char.cs: Made ToUpper and ToLower public methods.
10504         * String.cs: Lots and lots of compile fixes - just need to write
10505         DateTime.cs and this should build completely now.
10507 2001-07-19  Bob Smith (bob@thestuff.net)
10509         * Math.cs: Implemented. 
10511 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
10513         * String.cs: Removed tolower and toupper.
10515         * Char.cs: Moved ToLower and ToUpper from string to here. 
10517         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
10518         instead of comparing the value to Nan.
10520 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
10522         * TimeSpan.cs: New implementation.
10524 2001-07-18  Scott Sanders <scott@stonecobra.com>
10526          * UriFormatExcpetion.cs: Add - 85% complete
10528 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
10530         * String.cs (IndexOf): Slight optimization that allows skipping
10531         over a few chars here and there. This isn't as good as using my
10532         Boyer-Moore implementation, however, Boyer-Moore is only really
10533         good for long strings (I plan on making the code decide which
10534         string search algorithm it should use on-the-fly at some point).
10535         (LastIndexOf): Fix to work correctly.
10536         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
10538 2001-07-16  Michael Lambert <michaellambert@email.com>
10540         * EventArgs.cs: Add.
10541         
10542 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
10544         * Version.cs: Remove my buggy comment.
10546 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
10548         * String.cs: Spelling error of IComparable, object's
10549         MemberwiseClone cannot be overridden.  Made indexer valid for now,
10550         but not sure what to do about this in the long run.  Seems to be a
10551         couple bugs in csc.exe having to do with multiple pointer defs in
10552         the same statement, and returning subclasses of a class in the
10553         return type of an interface function implementation.  Also moved
10554         operators inside of class definition.
10556 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10558         * String.cs: A tom of compile fixes, although we still don't compile.
10560         * IConvertible.cs: The To*Int64() methods return *Int64's, not
10561         *Int32's. Also, it's ToDateTime() not ToDateType().
10563 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10565         * String.cs: Apparently I needed to at least write stubs for the
10566         IConvertible interfaces. *sigh*
10568 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10570         * String.cs: Many logic/other fixes and better usage of the
10571         features of c#
10572         (tolower): New convenience method to help condense code.
10573         (toupper): Another new helper method.
10574         (Compare): Use the new helper methods.
10575         (ToLower): use tolower().
10576         (ToUpper): use toupper().
10577         (LastIndexOfAny): Implemented.
10578         (BoyerMoore): New private helper method that implements a modified
10579         version of the Boyer-Moore search algorithm. Noothing uses it yet
10580         as I'm not 100% sure it even works properly with unicode strings
10581         not to mention it uses a huge lookup-table :-)
10582         (Split): Implemented.
10584 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
10586         * TODO: Added things that need to be finished in System.String
10588         * String.cs: New source file implementing the System.String class
10590 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
10592         * TypeCode.cs: UInt64 was UInt63.
10594         * Object.cs: Fixed a numer of compiler errors.
10596         * Array.cs: Fixed some compiler errors.
10598         * IComparable.cs: Fixed some compiler errors.
10600         * ICloneable.cs: Fixed some compiler errors.
10602         * IConvertible.cs: Fixed some compiler errors.
10604         * IFormattable.cs: Fixed a compiler error.
10606         * IFormatProvider.cs: Fixed a compiler error.
10608         * IDisposable.cs: Fixed a compiler error.
10610         * IFormatProvider.cs: Added public accesability type to
10611         IFormatProvider.
10613         * Exception.cs: Added a using statement to remove compile time
10614         error.
10616         * ApplicationException.cs: Removed a ; that was causing a compiler
10617         error.
10619         * Int16.cs: Fixed some compiler errors.
10621         * Int32.cs: Fixed some compiler errors.
10623         * Int64.cs: Fixed some compiler errors.
10625         * SystemException.cs: Fixed a compiler error.
10627         * UInt16.cs: Fixed some compiler errors.
10629         * UInt32.cs: Fixed some compiler errors.
10631         * UInt64.cs: Fixed some compiler errors.
10633         * Void.cs: Fixed a compiler error.      
10635 2001-07-12  Joe Shaw  <joe@ximian.com>
10637         * Array.cs: Fix backwards parameters to Array.SetValue()
10638         throughout.
10639         (BinarySearch): Fix backward logic surrounding whether to call
10640         value.CompareTo or comparer.Compare.
10641         (LastIndexOf): Stop being stupid. I am so not used to strongly
10642         bounded arrays...
10643         (Sort): Implement a quicksort.
10645 2001-07-11  Joe Shaw  <joe@ximian.com>
10647         * Array.cs: Change all instances of trying to access an array with
10648         the index operator to calls to GetValue and SetValue, and add
10649         InternalGetValue and InternalSetValue which are internal calls
10650         into the runtime. Ew.
10652 2001-07-10  Joe Shaw  <joe@ximian.com>
10654         * Array.cs: Implemented everything but Sort().
10656 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
10658         * Object.cs (Object::Equals): Object variable name is `o'.
10660 2001-07-06  Joe Shaw  <joe@ximian.com>
10662         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
10663         Implement the IComparable and IFormattable interfaces. Fix a typo
10664         (publig -> public)
10666         * ApplicationException.cs, ArgumentException.cs,
10667         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
10668         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
10669         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
10670         ExecutionEngineException.cs, FormatException.cs,
10671         IndexOutOfRangeException.cs, InvalidCastException.cs,
10672         InvalidOperationException.cs, InvalidProgramException.cs,
10673         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
10674         NotSupportedException.cs, NullReferenceException.cs,
10675         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
10676         StackOverflowException.cs, SystemException.cs,
10677         TypeInitializationException.cs: Added all of the exceptions
10678         specified by the language spec. Mmmm... bloat.
10680 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
10682         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
10683         do a generic routine all of these guys use.
10685         * Int16.cs: identified missing methods.
10687         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
10689 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
10691         * TypeCode.cs: Implement
10693         * Void.cs: Implement.
10695         * TODO: Add file to keep track of pending tasks.
10697         * Object.cs, ValueType.cs: Implement.