2005-12-07 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mcs / class / corlib / System / ChangeLog
1 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
2
3         * Single.cs Double.cs: Fix warnings.
4
5 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
6  
7         * Convert.cs: ToBase64String method didn't use the option parameter so
8         we always included new lines. Fix bug #76876.
9
10 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
11
12         * AppDomainSetup.cs: Added missing ComVisible and removed LAMESPEC 
13         (the docs were fixed).
14         * NumberFormatter.cs: Fixed the "NotWorking" case where 1.15 was 
15         misrounded compared to MS implementation. Extra care is required when
16         dealing with the extra 2 digits information (e.g. double precision is
17         15 digits but 17 are kept - for a reason ;-)
18
19 2005-12-05  Ben Maurer  <bmaurer@ximian.com>
20
21         * Environment.cs: Bump version
22
23         * Nullable.cs: New Box and Unbox methods for the jit
24
25 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
26
27         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
28           list does not have enum value 0 as the first item. Fixes #76921
29
30 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
31
32         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
33
34 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
35
36         * Double.cs: remove unused icall.
37         * BitConverter.cs: handle double binary format on ARM FPA.
38
39 2005-12-02  Alp Toker  <alp@atoker.com>
40
41         * MonoType.cs:
42         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
43
44 2005-12-02  Alp Toker  <alp@atoker.com>
45
46         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
47         ReflectionOnlyAssemblyResolve in 2.0 final
48
49 2005-12-01  Alp Toker  <alp@atoker.com>
50
51         * String.cs: Add static and non-static Equals(... StringComparison) for
52         2.0.
53
54 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
55
56         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
57
58 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
59
60         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
61         have to add 1 to x and y when setting the cursor position.
62         Fixes bug #76856.
63
64         * Convert.cs: remove unused variables.
65
66 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
67
68         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
69         with large numbers.
70
71 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
72
73         * Convert.cs: fix endianess issue when converting to base-8
74         format. All the base code would need a rewrite for efficience.
75
76 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
77
78         * String.cs: Added support for Compare(... StringComparison) in 2.0.
79
80 2005-11-25  Alp Toker  <alp@atoker.com>
81
82         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
83
84 2005-11-17  Dick Porter  <dick@ximian.com>
85
86         * Environment.cs: Incremented corlib version
87
88 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
89
90         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
91         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
92         methods to return the exception as an out parameter,
93         instead of throwing it. This will be of special help
94         to TryParse methods.
95         * Environment.cs: Update corlib version to 42.
96         
97 2005-11-14  Raja R Harinath  <rharinath@novell.com>
98
99         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
100
101 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
102
103         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
104
105 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
106
107         * TimeZone.cs: Removed incorrect double-check lock and unneeded
108         hashtable access.
109
110 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
111
112         * Type.cs: IsNested implemented, signature fixes.
113
114 2005-11-11  Raja R Harinath  <rharinath@novell.com>
115
116         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
117
118 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
119
120         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
121         as well to avoid copying the whole array.
122
123 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * Int64.cs : ditto for long.
126
127 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
128
129         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
130
131 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
132
133         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
134         in 2.0 profile.
135         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
136         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
137         already replaced by Backspace and Whitespace)
138         * DateTime.cs: Moved DayOfWeek enum to it's own file.
139         * DateTimeKind.cs: New (2.0) enum.
140         * DayOfWeek.cs: New file (extracted from DateTime.cs).
141         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
142         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
143         values (-1 to all of them).
144         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
145         GetObjectData method.
146         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
147         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
148         profile.
149         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
150         profile.
151         * StringComparison.cs: New (2.0) enum (needed for Uri).
152         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
153         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
154         profile.
155
156 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
157
158         * Type.cs : I forgot to mention, some '(' were missing in the
159           improved patch ;-)
160
161 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
162
163         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
164         IsSerializable property, since the latter returns true for delegates/enums.
165
166 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
167
168         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
169           makes maintenance easier.
170
171 2005-10-24  Martin Baulig  <martin@ximian.com>
172
173         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
174
175 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
176
177         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
178
179 2005-10-20  Raja R Harinath  <rharinath@novell.com>
180
181         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
182
183 2005-10-16  Michal Moskal  <malekith@nemerle.org>
184
185        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
186
187 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
188
189         * DateTime.cs : another crappy Windows dependent format.
190
191 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
192
193         * DateTime.cs: Speed up when parsing date time objects by not
194         duplicating cultureinfo arrays.
195
196 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
197
198         * Type.cs (GetTypeCode): Applied patch from 
199         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
200         passed in.
201
202 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
203
204         * Delegate.cs: Add support for delegate covariance and contravariance
205         from net 2.0.
206
207 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
208
209         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
210
211 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
212
213         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
214         #76204.
215
216 2005-09-23  Miguel de Icaza  <miguel@novell.com>
217
218         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
219
220 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
221
222         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
223         attributeType parameter.
224         (IsDefined): New icall.
225
226         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
227         object when only a specific attribute type is requested. Fixes #76062.
228
229         * Environment.cs: Bump corlib version.
230
231 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
232
233         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
234
235 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * DateTime.cs : (_DoParse) don't check ticks range before computing
238           the actual value. Fixed bug #76082.
239
240 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
241
242         * TimeZone.cs : When the target DateTime is in the range of
243           DST end to DST + delta, don't adjust UtcOffset gap between that of
244           DST and that of STD. This should fix bug #75985.
245
246 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
247
248         * TimeZone.cs, DateTime.cs :
249           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
250           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
251           - use ToLocalTime() and don't depend on the own offset computation.
252             Parse() with 'Z' pattern is closer to correct value on switching
253             Daylight Saving Time. See bug #75985.
254
255 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
256
257         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
258           handled as expected and it kept time value as local one.
259           Patch by Brion Vibber. Fixed bug #75995.
260
261 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
262
263         * DateTime.cs : Literal escape (\) was not checking format as
264           expected. Fixed bug #75213.
265
266 2005-09-05  Miguel de Icaza  <miguel@novell.com>
267
268         * MonoType.cs: Patch from Jonathan Chambers to implement
269         Type.GUID. 
270
271 2005-09-05  Martin Baulig  <martin@ximian.com>
272
273         Reflect latest API changes in the August CTP.
274
275         * Type.cs (Type.HasGenericArguments): Removed.
276         (Type.BindGenericParameters): Renamed to MakeGenericType().
277
278 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
279
280         * DateTime.cs : another idiotic COM dependent format.
281
282 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
283
284         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
285         Added some comments about the class.
286
287 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
288
289         * AppDomain.cs: Use the more concise property syntax for declarative
290         security.
291         * AppDomainManager.cs: Default HostSecurityManager is null.
292
293 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
294
295         * NumberFormatter.cs : eliminate non-ASCII character.
296
297 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
298
299         * Enum.cs: Better exception message.
300         
301 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
302
303         * Convert.cs: In FromBase64String, return empty byte array for zero
304         length string. Pass bool to InternalFromBase64String to control 
305         whether to allow a whitespace-only string.
306         * Environment.cs: Bump corlib version.
307
308 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
309
310         * Environment.cs: Bump corlib version.
311
312 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
313
314         * Math.cs: Implement a new 2.0 Round method.
315
316 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
317
318         * Convert.cs: Throw OverflowException if result is larger than
319         ushort.MaxValue to match MS.NET. Remove commented code.
320
321 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
322
323         * Convert.cs: For now, do not throw OverflowException if hex prefixed
324         value is negative for signed types (other than int64). Need to look
325         into this further.      
326
327 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
328
329         * Convert.cs: Numerous fixed in overloads taking base to match 
330         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
331         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
332         character is a negative sign. Throw OverflowException if hex prefixed 
333         value is negative for signed types (other than int64) to match MS.NET. 
334
335 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
336
337         * DateTime.cs : added another COM dependent pattern (rather to describe
338           how it works on .NET than to add the pattern itself...).
339
340 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
341
342         * DateTime.cs : added case for bug #53023.
343
344 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
345
346         * Type.cs: Add IsGenericType property from NET 2.0.
347
348 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
349
350         * String.cs : added new StartsWith()/EndsWith() override, fixing
351           existing EndsWith() which incorrectly assumed that both string
352           lengths must be equivalent (they are not always equal).
353         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
354
355 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
356
357         * String.cs: Implement Split(String[]) methods.
358
359 2005-08-09  Miguel de Icaza  <miguel@novell.com>
360
361         * AppDomainSetup.cs: Full-pathization of the appBase should only
362         be done on Windows, the ":" condition never applied to Linux.
363
364         * ConsoleKey.cs: Include a few aliases for a few values that were
365         introduced recently.
366
367 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
368
369         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
370         Fixes bug #75697.
371
372 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
373
374         * String.cs : (StartsWith) compared string lengths are not always the
375           same in culture-sensitive comparison.
376
377 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
378
379         * Array.cs: Changed protected ctor to private. Fixes API compatibility
380         with MS.NET.
381         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
382         be exposed in 2.0 profile.
383         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
384         be exposed in 2.0 profile.
385         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
386         be exposed in 2.0 profile.
387         * Type.cs: Added GetType method and implemented _Type interface.
388         Fixes API compatibility with MS.NET.
389
390 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
391
392         * StringComparer.cs: Add generics version of string interfaces.
393
394 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
395
396         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
397
398 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
399
400         * StringSplitOptions.cs MidpointRounding.cs: New files.
401
402         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
403
404 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
405
406         * StringComparer.cs: New file.
407
408 2005-07-26  Raja R Harinath  <harinath@gmail.com>
409
410         * Enum.cs (GetValue): Make private.  Return an ulong.
411         (Parse): Tighten scope of couple of variables.  Use ulong when
412         twiddling bits.
413
414 2005-07-25  Raja R Harinath  <rharinath@novell.com>
415
416         * Enum.cs (FindName, GetValue): New.  Carved out of ...
417         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
418         exceptions when parsing names.  Avoid allocating arrays unless
419         necessary.  Avoid conversion of an enumeration constant to its own
420         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
421
422 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
423
424         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
425         Fixes bug #75527.
426
427 2005-07-13  Miguel de Icaza  <miguel@novell.com>
428
429         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
430         signature for GetValue and SetValue to make the long [] argument
431         be a params argument. 
432
433 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
434
435         * Convert.cs: Fix the bug when Convert.ChangeType was using
436         NumberFormatInfo instead of DateTimeFormatInfo when the type to
437         change is a DateTime.
438
439 2005-07-11  Martin Baulig  <martin@ximian.com>
440
441         * Array.cs: Use Type.Equals() instead of `==' to compare type
442         parameters.     
443
444 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
445
446         * Type.cs: Mark BindGenericParameters as deprecated. Use
447         MakeGenericType as default implementation with updated signature.
448
449 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
450
451         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
452         #75514.
453
454 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
455
456         * DelegateSerializationHolder.cs: When the deserialized target is
457         a proxy, call IsInstanceOfType to force the proxy to load the
458         real type of the remote object. This is needed to make sure that
459         subsequent calls to GetType() return the expected type. This fixes
460         bug #75447.
461
462 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
463
464         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
465         serialization.
466
467 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
468
469         * Guid.cs: Avoid code duplication between overriden methods (new in 
470         2.0). Avoid exception processing when possible. Renamed parameters to
471         match the framework. Added ComVisible to NET_2_0.
472
473 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
474
475         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
476         function for NET_2_0. It's full signature is:
477                 public static T CreateInstance<T>();
478
479 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
480
481         * Decimal.cs: Renamed internal fields for the sake of serialization
482         interoperability with MS.NET.
483         * Exception.cs: In the StackTrace property, return the stack trace
484         if it has a value, even if the exception has not been thrown
485         (it may have been deserialized).
486
487 2005-06-28  Martin Baulig  <martin@ximian.com>
488
489         * Array.cs (Array.InternalArray<T>): New nested class; derives
490         from Array.  This is now used by the runtime for arrays; fixes #74953.
491
492 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
493
494         * String.cs : added some extra whitespace characters for Trim().
495           Fixed bug #75259.
496
497 2005-06-13  Michal Moskal <malekith@nemerle.org>
498         
499         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
500         since it now throws on MethodBuilders. Don't use FieldHandle in
501         GetField (throws on FieldBuilder) - just use the name.
502
503 2005-06-13  Martin Baulig  <martin@ximian.com>
504
505         * MonoType.cs
506         (MonoType.getFullName): Added `bool assembly_qualified' argument.
507         (MonoType.AssemblyQualifiedName): The interncall now adds the
508         assembly name, so we don't need to do it here.
509         (MonoType.FullName): Use the new getFullName() API.
510
511 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
512
513         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
514         NET_2_0. Added "new" white char and ComVisible for 2.0.
515
516 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
517
518         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
519         calls to avoid extra allocations.
520
521 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
522
523         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
524
525         * Type.cs MonoType.cs: Add internal virtual
526         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
527         from non-instanciated counterparts
528
529 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
530
531         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
532
533 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
534
535         * Type.cs: Add missing 2.0 attributes.
536
537 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
538
539         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
540         also internal method GetCustomAttributesData, used by 
541         System.Reflection.CustomAttributeData.
542         
543 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
544
545         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
546         missing attributes (for both 1.1 and 2.0).
547         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
548         2.0. Reworked Trim() to skip a useless call. Added missing attribute
549         for 2.0.
550         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
551         missing attribute for 2.0. Hided some public/protected methods.
552
553 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
554
555         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
556
557 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
558
559         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
560         * AppDomain.cs: Added new members from _AppDomain interface.
561         * AppDomainManager.cs: Fixed flags and added attributes.
562         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
563         AppDomainManagerInitializationOptions in beta2.
564
565 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
566
567         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
568
569 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
570
571         * Exception.cs: Implements _Exception only for 2.0.
572
573 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
574
575         * GC.cs: Fix build.
576         
577         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
578           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
579           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
580
581 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
582
583         * Environment.cs:
584         * AppDomain.cs: if the assembly is loaded from a byte array, Location
585         returns "". Fixes bug #74958.
586
587 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
588
589         * *.cs: More 2.0 API fixups
590
591         * *.cs: In beta 2, generics are no longer non-cls-compliant.
592
593 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
594
595         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
596         that was different from MSFT.
597         * String.cs: Fixed IndexOfAny thrown an exception
598         when startIndex of arguments equals Length. (Closes bug #75083.)
599
600         * Decimal.cs: Changed to use NumberFormatter in ToString.
601         * NumberFormatter.cs: Implemented decimal formatter.
602
603 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
604
605         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
606         support in System.Net work again.
607
608 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
609
610         * CharEnumerator.cs: add IEnumerable <char> support
611
612 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
613
614         * Activator.cs: Added missing validation on parameters.
615
616 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
617
618         * Type.cs: Check that the arguments of the `types' array are
619         non-null. Fixes bug 71300
620
621 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
622
623         * AppDomainSetup.cs: Added new 2,0 constructors and the 
624         ActivationArguments property.
625         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
626         new location for the ApplicationActivator class.
627         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
628
629 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
630
631         * Environment.cs: bump corlib version for bug #75060.
632
633 2005-05-27  Raja R Harinath  <rharinath@novell.com>
634
635         * Environment.cs (ExpandEnvironmentVariables): Rewrite
636         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
637         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
638         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
639         StringBuilder has an appropriate Append overload.
640
641 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
642
643         * Type.cs (IsEnum): Special case EnumBuilder here.
644
645 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
646
647         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
648         allow call to work with serialization under a restrictive policy.
649         The code path (the protected information) isn't being used.
650
651 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
652
653         * Exception.cs: Use the new StackTrace ctor.
654
655         * Type.cs: Improve support for user defined type subclasses.
656
657 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
658
659         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
660           reject 2 digit years for "yyyy".
661           Use GetAllDateTimePatterns() instead of constant string.
662           Fixed bug #72788.
663
664 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
665
666         * DateTime.cs : next_not_digit prevented some valid parse.
667           Just remove it, since now we pass max length to ParseNumber() and
668           thus it is not needed anymore. Fixed bug 63137.
669
670 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
671
672         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
673           Reset num after whitespace parsing.
674           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
675
676 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
677
678         * DateTime.cs : Allow ',' where whitespaces are allowed.
679           Fixed bug #71289.
680
681 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
682
683         * BitConverter.cs: Speed this up, fixing 74014. Patch from
684         `Aleksandar Dezelin'.
685
686 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
687
688         * Type.cs: Add some helper methods needed by other classes.
689
690         * Array.cs: Improve support for user defined Type subclasses.   
691         
692         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
693         wrapper function, not used yet.
694
695         * Type.cs Array.cs: Revert this as it breaks the build.
696
697         * Type.cs Array.cs: Improve support for user defined Type subclasses.
698
699 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
700
701         * Delegate.cs (Equals): Use `as' to protect in the case where !
702         (obj is Delegate)
703
704 2005-05-19  Raja R Harinath  <rharinath@novell.com>
705
706         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
707         error.
708
709 2005-05-19  Miguel de Icaza  <miguel@novell.com>
710
711         * TermInfoDriver.cs: Removed warning.
712
713         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
714         FindLastIndex<T>: Parameter names are normative.        
715         Fix coding style ("Method<T>" not "Method <T>")
716         Throw argument exceptions per argument.
717         
718         (FindAll): Fix bug, actually return the values that were computed,
719         not a short version of the original array.
720         
721 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
722
723         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
724         for each framework version.
725
726 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
727
728         * Attribute.cs:
729         * Exception.cs: .Net 1.1 already has these interfaces
730
731 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
732
733         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
734         object on GetCustomAttributes (fixes bug #74717).
735
736 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
737
738         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
739           Fixed bug #74775.
740
741 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
742
743         * DateTime.cs : don't allow extraneous pattern characters also for
744           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
745
746 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
747
748         * Activator.cs: Match exceptions thrown by MS.NET for
749         CreateInstance overloads if type is abstract. Fixes bug #74861.
750
751 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
752
753         * OperatingSystem.cs: PlatformID.Unix.
754
755 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
756
757         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
758         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
759
760 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
761
762         * NumberFormatter.cs : roundtrip number is already rounded before
763           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
764           bug #72955.
765
766 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
767
768         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
769         the comparer in the same order as msft. Fixes #70725
770
771 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
772
773         * Enum.cs: the hashtable don't need to be synchronized any more, since
774         it's only accessed from withint a lock.
775
776         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
777         bug 74768.
778
779 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
780
781         * Array.cs: Remove CLSCompliant (false) attributes.
782
783 2005-05-06  Martin Baulig  <martin@ximian.com>
784
785         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
786         [CLSCompliant(true)] attribute.
787
788 2005-05-04  Miguel de Icaza  <miguel@novell.com>
789
790         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
791         initialize cache as a static method.  Fixes #74828.
792
793 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
794
795         * Console.cs: CancelKeyPress is stubbed.
796
797 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
798
799         * ActivationContext.cs: Updated for beta2.
800         * AppDomainManager.cs: Updated for beta2.
801         * ApplicationId.cs: Updated for beta2.
802         * ApplicationIdentity.cs: Updated for beta2.
803         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
804         doesn't leak the code base from the returned AssemblyName.
805
806 2005-04-25  Martin Baulig  <martin@ximian.com>
807
808         * Environment.cs (Environment.Version): Changed to 2.0.50215.
809
810 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
811
812         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
813         number of "missing" in the class status pages.
814
815 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
816
817         * MulticastDelegate.cs: (GetInvocationList) when building the list that
818         is later traversed forward, mark 'this' as the end of the chain.
819         Fixes bug #74607.
820
821 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
822
823         * Environment.cs: Bump corlib version.
824
825 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
826
827         * WindowsConsoleDriver.cs: ignore key release events.
828
829 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
830
831         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
832
833 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
834
835         * _AppDomain.cs: Add security checks to the interface. Declarative 
836         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
837         with older MCS.
838         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
839         blocking some cases from working properly. Declarative security on 
840         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
841
842 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
843
844         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
845         on the AppDomain. Added an internal property to get the granted set.
846
847 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
848
849         * String.cs,
850           Char.cs : use TextInfo for ToLower() and ToUpper().
851
852 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
853
854         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
855         ToString methods (not required for 2.0 as TypeInformation will be 
856         deprecated). Added null check for GetObjectData.
857
858 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
859
860         * Delegate.cs: allow IronPython 0.7 to compile.
861
862 2005-03-24  Miguel de Icaza  <miguel@novell.com>
863
864         * Delegate.cs: Add CreateDelegate with a target option, currently
865         internal as it is not exposed by the framework yet.
866
867 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
868
869         * String.cs: Add some 2.0 methods.
870
871 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
872
873         * Activator.cs: Now use the supplied evidences when loading 
874         assemblies. Added LinkDemand for RemotingConfiguration on both
875         GetObject methods.
876         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
877         Input|Output] as they use a handle on a FileStream (which is
878         restricted otherwise). Added Demand for UnmanagedCode for the
879         Set[Error|In|Out] methods.
880         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
881         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
882         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
883         GetFunctionPointer method.
884         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
885         MemberAccess on MakeTypedReference.
886
887 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
888
889         * Environment.cs: Fix CAS unit tests for NET_1_1.
890         * Exception.cs: Fix CAS unit tests for NET_1_1.
891
892 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
893
894         * Version.cs: don't ignore the last number. Fixes bug #73539.
895
896 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
897
898         * MonoType.cs: When the security manager is active, constructors and
899         methods will return null if a linkdemand fails during reflection 
900         query.
901
902 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
903
904         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
905
906 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
907
908         * Environment.cs: Bump corlib version.
909
910 2005-03-10  Martin Baulig  <martin@ximian.com>
911
912         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
913         we're null.
914
915 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
916
917         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
918         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
919         Fixes #73432.
920
921 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
922
923         * Environment.cs: Bump corlib version.
924
925         * Exception.cs (StackTrace): Return the wrapper info as well.
926
927 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
928
929         * NumberFormatter.cs: Some internal classes was converted to structs,
930         and improved some points.
931
932 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
933
934         * NumberFormatter.cs: Improved performance and memory usage
935         when integer standard format.
936         * SByte.cs:
937         * Int16.cs:
938         * Int32.cs:
939         * Int64.cs:
940         * Byte.cs:
941         * UInt16.cs:
942         * UInt32.cs:
943         * UInt64.cs:
944         * Single.cs:
945         * Double.cs:
946         * TimeSpan.cs: Improved these directly call to NumberFormatter.
947
948 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
949
950         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
951         and translate them into a ConsoleKeyInfo.
952         * TermInfoReader.cs: added a method to return the bytes of a string
953         property.
954         * ConsoleKeyInfo.cs: added copy constructor and setters.
955
956 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
957
958         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
959
960 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
961
962         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
963         and added some to support the reflection only methods. DoAssemblyResolve
964         was modified to invoke the new PreBindAssemblyResolve event when the
965         assembly is reflection only.
966         
967 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
968
969         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
970         Add net 2.0 ReliabilityContractAttributes.
971
972 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
973
974         * TermInfoDriver.cs: cygwin terminals are handled by the windows
975         console driver.
976
977         * TermInfoReader.cs:
978         * TermInfoNumbers.cs:
979         * KnownTerminals.cs:
980         * TermInfoBooleans.cs:
981         * TermInfoStrings.cs: documented.
982
983 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
984
985         * Array.cs: Reverse the order in the Equals calls.
986
987 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
988
989         * Exception.cs (StackTrace): Implement this in managed code since it is
990         needed by CAS. Fixes #72146.
991
992 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
993
994         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
995
996 2005-02-14  Raja R Harinath  <rharinath@novell.com>
997
998         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
999         See #72015.
1000
1001 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
1002
1003         * Version.cs (CompareTo, Equals): Make sure the versions for
1004         generics handle `null'. The non-generics versions now just call
1005         the regular versions, to reduce code duplication.
1006
1007         * Boolean.cs (CompareTo): make this really work for generics 
1008
1009         * Type.cs (GetProperty): Passing new Type [0] is different than
1010         null. null means `I don't care how many types this has,' while new
1011         Type [0] means `this must have 0 types.'
1012
1013 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1014
1015         * corlib.dll.sources: added WindowsConsoleDriver.cs
1016
1017         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
1018         implemented the few missing properties/methods.
1019
1020         * System/IConsoleDriver.cs: uncommented all methods/properties.
1021         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
1022         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
1023         windows. Only missing MoveBufferArea by now.
1024
1025 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
1026
1027         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
1028
1029         * Int32.cs AppDomain.cs: Fix warnings.
1030
1031 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
1032
1033         * IServiceProvider.cs: Is not ComVisible.
1034
1035         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
1036
1037         * Type.cs: Fix ClassInterface attribute.
1038
1039 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
1040
1041         * Delegate.cs: remove the finalizer from Delegate: this
1042         is handled internally by the runtime now.
1043
1044 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1045
1046         * Activator.cs: provide the Type name when throwing an exception.
1047
1048 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1049
1050         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
1051         bug #72238.
1052
1053 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
1054
1055         * Array.cs: provide specialized versions of some methods.
1056
1057 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
1058
1059         * String.cs: provide a managed memcpy and memset method
1060         for use both in corlib and from the JIT. Implement
1061         some methods with the managed helpers and remove some icalls.
1062
1063 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
1064
1065         * Exception.cs: Added Data property for NET_2_0 (required for new
1066         unit tests).
1067
1068 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1069
1070         * ConsoleDriver.cs:
1071         * TermInfoDriver.cs:
1072         * IConsoleDriver.cs:
1073         * Console.cs: added BufferWidth and BufferHeight.
1074
1075 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1076
1077         * ConsoleDriver.cs:
1078         * Console.cs:
1079         * TermInfoDriver.cs:
1080         * IConsoleDriver.cs: added a few more properties and fixed cursor
1081         addressing.
1082
1083 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1084
1085         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
1086         calls to the proper driver.
1087         * TermInfoDriver.cs: terminfo based console driver.
1088         * IConsoleDriver.cs: interface implemented by console drivers.
1089
1090         * ConsoleCancelEventArgs.cs:
1091         * ConsoleCancelEventHandler.cs:
1092
1093         * ConsoleModifiers.cs: 
1094         * ConsoleSpecialKey.cs:
1095         * ConsoleColor.cs:
1096         * ConsoleKey.cs: new enumerations.
1097
1098         * ConsoleKeyInfo.cs: New file.
1099
1100         * TermInfoReader.cs: reader for terminfo capabilities files.
1101
1102         * TermInfoNumbers.cs:
1103         * TermInfoBooleans.cs:
1104         * TermInfoStrings.cs: enumations for terminfo property names.
1105
1106         * KnownTerminals.cs: byte arrays for selected terminals.
1107
1108         * Console.cs: added more 2.0 methods and implemented some of them.
1109
1110
1111 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
1112
1113         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
1114
1115 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
1116
1117         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
1118         disclosed unless code has ControlPolicy and ControlEvidence.
1119
1120 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
1121
1122         * Exception.cs: Compute stack trace on demand.
1123
1124 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
1125
1126         * Environment.cs: Removed hack for static class (NET_2_0). Added 
1127         proper security for FailFast (documented in FDBK20543). Added new
1128         method IsRunningOnWindows to replace (Platform == 128) as the logic is
1129         gonna change in the future (Unix is id #4 in NET_2_0).
1130
1131 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
1132
1133         * Environment.cs: Added CAS security (both declarative and imperative)
1134         as a test. This shouldn't affect execution unless --security is 
1135         specified.
1136
1137 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
1138         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
1139         and Type.FilterName delegates They weren't dealing with the optional '*'
1140         at the end of the filter mask
1141
1142 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
1143
1144         * Array.cs: Fix a typo in the previous patch.
1145         
1146         * Array.cs: Fix some test failures in the generic methods.
1147
1148         * Array.cs: Implement AsReadOnly.
1149
1150 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
1151
1152         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
1153         #71242
1154
1155 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
1156
1157         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
1158         have been removed from 2.0.
1159
1160 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
1161
1162         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
1163         NET 2.0.
1164
1165 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
1166
1167         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
1168         Add default culture (neutral) to the name when none is specified.
1169         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
1170         can't trust Id ?
1171
1172 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
1173
1174         * DateTime.cs: Reverted last patch for utc as it broke all certificate
1175         handling and another unit test in DateTime.
1176
1177 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
1178
1179         * DateTime.cs: Return immediately if useutc is set to true, there
1180         is no need to do the extra computation (which also happened to
1181         create a new DateTime using the `use_localtime' constructor, which
1182         lead to the erroneous date returns when using 'u' or `U'
1183         formats).   
1184
1185         Fixes another bug in the regression test suite.
1186
1187 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
1188
1189         * AppDomain.cs: Fix the DefaultDomain property to return the root 
1190         domain (as it seems that the root's Id isn't always 0).
1191         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
1192         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
1193
1194 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
1195
1196         * IntegerFormatter.cs: The - sign inside the "negative" section in
1197         a multi-format string means `show the sign' only if it is the
1198         first token, not `copy verbatim'.  In the other sections it means
1199         `copy-verbatim'.
1200
1201         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
1202         instead of "--34".
1203
1204         The bad news is that this code needs to be rewritten to handle all
1205         the formatting cases, see bug #71112 for details.
1206
1207         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
1208         the conversion is invalid, not ArgumentException, this fixes
1209         another regression in our test suite.
1210
1211 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
1212
1213         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
1214         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
1215         exists anymore).
1216
1217 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
1218
1219         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
1220         initialization problems.
1221
1222 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
1223
1224         * Int32.cs: NumberStyles.AllowExponent was supported by the
1225         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
1226         70469.
1227
1228 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
1229
1230         * Base64FormattingOptions.cs : it was not in System namespace.
1231
1232 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
1233
1234         * DateTime.cs : If no progress on value string, don't regard as
1235           matched. This fixes bug #70707.
1236
1237 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
1238
1239         * Environment.cs: Bump corlib version.
1240
1241 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
1242
1243         * Array.cs (DoBinarySearch): Fix a warning.
1244
1245 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
1246
1247         * Environment.cs: Bump corlib version.
1248
1249         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
1250
1251 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
1252
1253         * Exception.cs: Prevent stringifying the type name on the
1254         ctor. this gets called a few times on every execution to create a
1255         nullref exception.
1256
1257 2004-12-06  Martin Baulig  <martin@ximian.com>
1258
1259         * Decimal.cs: Decimal constant support has been merged into GMCS,
1260         removed the FIXME.
1261
1262 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
1263
1264         * Environment.cs: Bump corlib version.
1265         
1266         * Environment.cs: Bump corlib version.
1267
1268 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
1269
1270         * MonoType.cs (UnderlyingSystemType): Make this return this as in
1271         MS.NET. Fixes #56245.
1272
1273 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
1274
1275         * GC.cs : Collect(generation) actually does not throw an exception
1276           even if generation > MaxGeneration (MS document bug).
1277
1278 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
1279
1280         * Exception.cs: Implement _Exception under NET_2_0.
1281
1282         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
1283
1284         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
1285         NotCancelableException.cs TimeoutException.cs: New files.
1286
1287 2004-11-23  Raja R Harinath  <rharinath@novell.com>
1288
1289         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
1290         constant support.
1291
1292 2004-11-23  Raja R Harinath  <rharinath@novell.com>
1293
1294         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
1295         without decimal constant support.
1296
1297 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
1298
1299         * Decimal.cs: Updated to use compiler decimal constant support.
1300
1301 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
1302
1303         * MonoType.cs: Revert last change since it breaks remoting.
1304
1305 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
1306
1307         * MonoType.cs (UnderlyingSystemType): Make this return this as in
1308         MS.NET. Fixes #56245.
1309
1310 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
1311
1312         * INullable.cs: New interface added.
1313         * Nullable.cs: Methods added. Also a static Nullable class
1314         containing static methods.
1315         
1316 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
1317
1318         * BitConverter.cs: Added support for special case when ToString is 
1319         called with (new byte [0]).
1320
1321 2004-11-10  Lluis Sanchez  <lluis@novell.com>
1322
1323         * Exception.cs: Added setter for StackTrace.
1324
1325 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
1326
1327         * IntegerFormatter.cs: Avoid .ToCharArray
1328
1329 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
1330
1331         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
1332
1333 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1334
1335         * InvalidOperationException.cs: make the message more meaningful and
1336         real. Fixes bug #69055.
1337
1338 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
1339
1340         * String.cs: Rather than == String.Empty, use .Length == 0. It
1341         is a bit faster (avoids a method call, and the code is less complex).
1342
1343 2004-10-24  Fawad Halim  <fawad@fawad.net>
1344         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
1345         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.
1346         This fixes bug #64995.
1347
1348 2004-10-19  Lluis Sanchez  <lluis@novell.com>
1349
1350         * MarshalByRefObject.cs: Field _identity is not serializable.
1351         This fixes bug #68567.
1352
1353 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
1354
1355         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
1356         avoid entering slow integer formatting code.
1357
1358         (_ToString): Use ZeroPad here when possible, as it is faster.
1359
1360 2004-10-11  Martin Baulig  <martin@ximian.com>
1361
1362         * Environment.cs: Bump corlib version to 28.
1363
1364 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
1365
1366         * Convert.cs (ToType): Throw an exception when converting null to a
1367         valuetype. Fixes #67780.
1368
1369 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
1370
1371         * DateTime.cs : Performance fix. ParseExact() implementation should
1372           avoid s = s.Substring(1).
1373
1374 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
1375
1376         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
1377           of m/s/t/z. This fixes bug 66723.
1378
1379 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
1380
1381         * String.cs: make GetHashCode() managed.
1382
1383 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
1384
1385         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
1386
1387         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
1388
1389         * ModuleHandle.cs: Add missing methods.
1390
1391         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
1392
1393 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
1394
1395         * AttributeTargets.cs: Add 2.0 GenericParameter value.
1396
1397         * Environment.cs: Bump corlib version.
1398
1399 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
1400
1401         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
1402
1403 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
1404
1405         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
1406         and swapping of all values before going into the BitConverter so that values
1407         are returned with proper endianess.
1408
1409 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
1410
1411         * Convert.cs: ToType was returning unconverted object when it should
1412         fail with an ArgumentException.
1413
1414 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
1415
1416         * Array.cs: Add stub for AsReadOnly<T>.
1417         
1418 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
1419
1420         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
1421
1422         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
1423         parameters.
1424
1425 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
1426
1427         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
1428         methods and fields.
1429         
1430         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
1431         custom attributes.
1432
1433         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
1434
1435         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
1436         sealed' optimization.
1437
1438         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
1439
1440         * Type.cs Add GetPseudoCustomAttributes () method.
1441
1442 2004-09-24  Martin Baulig  <martin@ximian.com>
1443
1444         * Type.cs (Type.GetGenericParameterConstraints): New public method.
1445
1446 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
1447
1448         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
1449         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
1450
1451         * Type.cs: Tweak Module property in 2.0 build.
1452
1453 2004-09-23  Martin Baulig  <martin@ximian.com>
1454
1455         * Type.cs (Type.GenericParameterAttributes): New public property.
1456
1457 2004-09-23  Martin Baulig  <martin@ximian.com>
1458
1459         * GenericParameterAttributes.cs: New file.
1460
1461 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
1462
1463         * ModuleHandle.cs: Updated after changes to Module class.
1464
1465 2004-09-21  Geoff Norton <gnorton@customerdna.com>
1466
1467         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
1468         this filter. Fixes bug #65778.
1469
1470 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
1471
1472         * Environment.cs: Bump corlib version.
1473
1474 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
1475
1476         * ModuleHandle.cs: New file.
1477
1478         * RuntimeFieldHandle.cs: Add an internal ctor.
1479
1480 2004-09-19  Dick Porter  <dick@ximian.com>
1481
1482         * Console.cs: Use the internal wrappers for StreamReader and
1483         StreamWriter that catch IOException.
1484
1485 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
1486
1487         * Environment.cs: Bumped mono_corlib_version to 25.
1488
1489 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1490
1491         * AppDomain.cs: added SetupInformationNoCopy property, since
1492         SetupInformation creates a copy now, all updates to it should use the
1493         actual data. Fixes bug #61991 take 2.
1494
1495 2004-09-09  Tim Coleman <tim@timcoleman.com>
1496         * Base64FormattingOptions.cs: New enum
1497         * Convert.cs: Add new ToBase64String methods for Fx 2.0
1498
1499 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
1500
1501         * Console.cs,
1502         * GC.cs: Class is static for NET_2_0.
1503
1504 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
1505
1506         * Activator.cs: Make sure not to call .GetType on a
1507         null argument. fixes 63852
1508
1509 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
1510
1511         * Array.cs (Clear): make this an icall.
1512
1513 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
1514
1515         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
1516
1517 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1518
1519         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
1520         insensitive enironment variables hashtable once we create it.
1521
1522 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
1523
1524         * AppDomain.cs: Changed 2 imperative security demands to declarative
1525         (unsupported) so it doesn't (for now) call the security runtime.
1526
1527 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
1528
1529         * Delegate.cs: Free the delegate trampoline in the finalizer.
1530
1531 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
1532
1533         * ApplicationId.cs: Completed GetHashCode using information from MS
1534         (FDBK13339).
1535
1536 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
1537
1538         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
1539
1540 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
1541
1542         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
1543           allows 12, that should not be accepted (13 is rejected) and
1544           interpreted as 0. This fixes bug 63376.
1545
1546 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
1547
1548         * Version.cs: Fixed Clone so we can use it on versions with only
1549         major/minor or major/minor/build.
1550
1551 2004-08-17  Martin Baulig  <martin@ximian.com>
1552
1553         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
1554         argument specifying whether or not to include the type arguments.
1555         (MonoType.FullName): Don't include the type arguments.
1556         (MonoType.ToString): Include them here.
1557
1558         * Environment.cs: Bumped mono_corlib_version to 24.
1559
1560 2004-08-16  Duncan Mak  <duncan@ximian.com>
1561
1562         * AttributeUsageAttribute.cs: Change the AttributeUsage to
1563         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
1564         bug #62895.
1565
1566 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
1567
1568         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
1569         Added call to AddPermissionRequests to pass permissions
1570         arguments.
1571         * Environment.cs: Added a few Fx 2.0 methods
1572
1573 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
1574
1575         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
1576         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
1577         references). Added (non-obsolete) Fx 2.0 properties and methods.
1578         * AppDomainSetup.cs: Added internal copy constructor.
1579         * DomainManagerInitializationFlags.cs: Fixed values.
1580
1581 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
1582
1583         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
1584         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
1585         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
1586         * ApplicationId.cs: New Fx 2.0 class.
1587         * ApplicationIdentity.cs: Fixed ToString.
1588         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
1589
1590 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
1591
1592         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
1593         AppDomain using it's Id. Completed SetAppDomainPolicy.
1594         * Environment.cs: Bumped mono_corlib_version to 23.
1595
1596 2004-08-02  Martin Baulig  <martin@ximian.com>
1597
1598         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
1599
1600 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
1601
1602         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
1603           now its location is changed.
1604
1605 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
1606
1607         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
1608           NET_2_0 profile.
1609         
1610 2004-07-18  Martin Baulig  <martin@ximian.com>
1611
1612         * Array.cs: Ben Maurer implemented all the new generic methods
1613         here :-)
1614
1615 2004-07-17  Martin Baulig  <martin@ximian.com>
1616
1617         * Decimal.cs: Implement IComparable<Decimal>.
1618
1619 2004-07-17  Martin Baulig  <martin@ximian.com>
1620
1621         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
1622         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
1623
1624 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
1625
1626         * ActivationContext.cs: New class in Fx 2.0. Required for 
1627         System.Security.Policy.
1628         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
1629         System.Security.Policy.
1630         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
1631         System.Security.Policy.
1632         * IHostContext.cs: New interface in Fx 2.0. Required for 
1633         System.Security.Policy.
1634
1635 2004-07-12  Geoff Norton <gnorton@customerdna.com>
1636
1637         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
1638           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
1639           and will add/subtract the hour if needed
1640
1641 2004-07-07  Geoff Norton <gnorton@customerdna.com>
1642
1643         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
1644           pass through all the possibly BindingInfo's and keep a bool value as to the type
1645           of exception we might need to throw;
1646
1647 2004-07-07  Geoff Norton <gnorton@customerdna.com>
1648
1649         * Patch to fix bug #58973
1650
1651 2004-07-02  Jackson Harper  <jackson@ximian.com>
1652
1653         * PlatformID.cs: New 2.0 values.
1654         
1655 2004-06-25  Ben Maurer <bmaurer@ximian.com>
1656         
1657         * Environment.cs: GetFolderPath has new behavior. r=miguel
1658
1659 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
1660
1661         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
1662         bigger than 9999. Fix bug #41845.
1663         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
1664         the "R"eversible format for negative numbers.
1665
1666 2004-06-21  Jackson Harper  <jackson@ximian.com>
1667
1668         * Decimal.cs: Make sure to use invariant culture when parsing
1669         floats stringified with the invariant culture. Patch by Rodrigo
1670         B. de Oliveira.
1671         
1672 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
1673
1674         * FloatingPointFormatter.cs : Literal string should be kept in the
1675           output.
1676
1677 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1678
1679         * DateTime.cs : Concatenating whitespace removal was not working fine.
1680           Modified FormatException message (1 cent kindness).
1681
1682 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
1683         
1684         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
1685         new generics classes
1686         * IComparable.cs: add the new <T> version.
1687         * EventHandler.cs: new <T> version.
1688         
1689 2004-06-18  Dick Porter  <dick@ximian.com>
1690
1691         * String.cs: The icall can cope with embedded \0 now.
1692
1693 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
1694
1695         * DateTime.cs :
1696           - Added new common pattern "yyyy/M/dZ"
1697           - empty string should not be compared in _ParseEnum()
1698           - Use culture independent string comparison in _ParseString()
1699           - Whitespace removal should be checked after '..' token check (some
1700             pattern such like es-ES LongDatePattern contains spaces in '..').
1701           - formats null check should be done (to throw ArgumentNullException)
1702             in ParseExact().
1703           - When specified one character format, dates are incorrectly regarded
1704             as to use invariant culture.
1705
1706 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
1707
1708         * ArgIterator.cs: changed layout to Auto
1709         * DateTime.cs: changed layout to Auto
1710
1711 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
1712
1713         * DateTime.cs: CRLF to LF
1714
1715 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
1716
1717         * Decimal.cs: Fixed regression in System.Data caused by the recent 
1718         changes. Adapted (and moved) the code to correct the scale from 
1719         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
1720         scale has no importance).
1721
1722 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
1723
1724         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
1725           attributes are omitted.
1726
1727 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1728
1729         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
1730           check if the format character is valid.
1731
1732 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1733
1734         * DateTime.cs : AddDays(double) rounds the input.
1735
1736 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1737
1738         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
1739           Fixed ToLocalTime() as well, but it does check range for MinValue.
1740
1741 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
1742
1743         * DateTime.cs : Added overflow check in ToUniversalTime() and
1744           ToLocalTime(). Fixed bug #60253.
1745
1746 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
1747
1748         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
1749         source code (with permission). Fix (biggest) part of bug #60110.
1750         http://www.yoda.arachsys.com/csharp/floatingpoint.html
1751
1752 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
1753
1754         * Decimal.cs: Fixed scale after Round (a different scale is correct 
1755         from a math point of view but affect the string representation of the
1756         value). Note: other operations also have scale problems!
1757         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
1758         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
1759         rounding (which is the rounding provided by Math.Round). This fix bug
1760         #60111. The code (new Round methods) should be moved elsewhere (as it
1761         may also be required elsewhere) post Mono 1.0.
1762
1763 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
1764
1765         * AppDomainSetup.cs: added TODO for serialization
1766         * ExecutionEngineException.cs: added missing serialization ctor
1767         * InvalidProgramException.cs: added missing serialization ctor
1768         * MulticastNotSupportedException.cs: added missing serialization ctor
1769         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
1770         * Random.cs: fixed serialization compatibility with MS.NET
1771
1772 2004-06-15  Paolo Molaro <lupus@ximian.com>
1773
1774         * Type.cs: removed unused (and non-existing) icall type_is_instance.
1775
1776 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1777
1778         * Environment.cs: use internalGetHome instead of getting "HOME" as
1779         that variable may not be defined.
1780
1781 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
1782
1783         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
1784         (overflow is only checked for days but can also occurs in hours and
1785         minutes which uses Int32 when multiplying). The new results match MS
1786         implementation.
1787
1788 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
1789
1790         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
1791           them with matching NumberFormatInfo properties.
1792
1793 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
1794
1795         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
1796         * FloatingPointFormatter.cs :
1797           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
1798           failures.
1799           Format Permille pattern (It is undocumented but actually available,
1800           and used in xsl:format-number).
1801
1802 2004-06-14  Raja R Harinath  <rharinath@novell.com>
1803
1804         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
1805         version with BOOTSTRAP_WITH_OLDLIB.
1806         * String.cs (STring.Concat): Likewise.
1807
1808 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
1809
1810         * FloatingPointFormatter.cs :
1811           - Don't format more than 15 fraction digits. Don't report to Pedro
1812             directly (removing the error message with his concent).
1813           - When format string starts with '.', it means integral part format 
1814             is not specified. Ignore '.' characters after the first
1815             appearance. Fixed bug #59890.
1816           - 0.0 is formatted only before the third ';' appearance.
1817
1818 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
1819
1820         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
1821         rounding logic which worked for FromOADate (while the newer didn't).
1822         * TimeSpan.cs: Now throw an OverflowException when the timespan is
1823         over MaxValue or under MinValue.
1824
1825 2004-06-11  Martin Baulig  <martin@ximian.com>
1826
1827         * Console.cs (Write, WriteLine): Implemented the varargs versions.
1828
1829 2004-06-11  Martin Baulig  <martin@ximian.com>
1830
1831         * String.cs (Concat): Implemented the varargs version.
1832
1833 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
1834
1835         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
1836         decode it properly (i.e. matching MS results). Fixed the Round method
1837         for negative decimal numbers (moved code from Math.cs).
1838         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
1839         fix a bug when rounding a negative decimal.
1840
1841 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1842
1843         * AppDomain.cs: set the _principal to null when changing the policy.
1844         * Console.cs: remove ClsCompliant attribute from a method marked as
1845         internal and added comment.
1846
1847 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
1848
1849         * Delegate.cs: marked protected fields private to match public
1850         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
1851         protected to fix public API
1852         * Enum.cs: marked ctor protected to match public API of MS.NET
1853         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
1854         match public API of MS.NET
1855
1856 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
1857
1858         * DateTime.cs : Added more common patterns.
1859
1860 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
1861
1862         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
1863         be a performance winner (the actual Math code has a note to wait a
1864         better Decimal implementation) but it returns the correct results
1865         (without adding new code in corlib or the runtime). Fix #37744.
1866
1867 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
1868
1869         * DateTime.cs :
1870           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
1871             now represented as double. Strict token check for 'Z'.
1872           - Pattern validity check in GetDateTimeFormats(char).
1873           - Fixed pattern "yyyy/M/d HH:mm:ss".
1874
1875 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
1876
1877         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
1878         unmanaged code). Simplified divide. Removed workaround for bug #59793.
1879         Fixed GetHashCode to return different result for X and -X.
1880
1881 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
1882
1883         * DateTime.cs :
1884           - Now re-checked all common format patterns. They should be tried
1885             with both current culture and invariant culture. Since '/' covers
1886             '-', removed extraneous patterns. Added more common patterns
1887             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
1888             only after NET_1_1). Commented out 1 character format patterns.
1889           - The format patterns we should try should not be obtained by
1890             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
1891             character patterns), to handle UTC correctly. Examined patterns
1892             are changed, to 1) common patterns with specified (or current)
1893             culture, 2) common patterns with invariant, 3) The above "one
1894             character patterns" with specified (or current) culture.
1895           - When trying to parse some kind of patterns such as RFC1123, 
1896             always use invariant DateTimeFormatInfo so that they can avoid
1897             parsing with culture-dependent calendar.
1898           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
1899           - Removed extraneous '-' case. It is not special one.
1900           - When ParseExact(), allow only '/' for '/' pattern character.
1901           - When Parse(), allow any non-letter & non-number characters.
1902           - When pattern is not fully parsed, reject that format.
1903           - Added "exact" parameter to some ParseExact().
1904           - RFC1123 pattern is (again) now parsed in local time. I regressed
1905             some problems in previous fix.
1906
1907 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
1908
1909         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
1910         value.
1911
1912 2004-06-07  Duncan Mak  <duncan@ximian.com>
1913
1914         * Exception.cs (Source): This can return null.
1915
1916 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
1917
1918         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
1919         constructor to limit range of milliseconds from 0,999. Fixed
1920         ToType method to work for object, string and DateTime.
1921
1922 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
1923
1924         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
1925         insensitive, wrong exception in FromOADate, handling of Min/Max 
1926         values, negative doubles where integer part is negative but 
1927         decimals are positive! Charming format ;-)
1928
1929 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
1930
1931         * String.cs: Fixed Join in case separator parameter is null.
1932         * TimeSpan.cs: Cache format errors during parsing and throw 
1933         FormatException only if there was no overflow.
1934
1935 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
1936
1937         * MonoCustomAttrs.cs: fixed issue where an empty array was 
1938         returned when GetCustomAttributes was invoked with null
1939         attribute type and there was only one result
1940
1941 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
1942
1943         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
1944         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
1945         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
1946         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
1947         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
1948         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
1949         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
1950         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
1951
1952 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
1953
1954         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
1955         int and long) into string in a specific base (2, 8, 10 or 16).
1956
1957 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
1958
1959         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
1960         the dividend is negative and the result is 0 (remainder).
1961
1962 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
1963
1964         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
1965
1966 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
1967
1968         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
1969         spans. Fixed parsing when only days are presents in the string (which
1970         should be illegal according to the documentation but is supported).
1971
1972 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
1973
1974         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
1975         somewhat different from the documentation.
1976
1977 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
1978
1979         * Type.cs: added missing attributes on InvokeMember
1980
1981 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
1982
1983         * String.cs: Flag concat with four arguments internal. 
1984
1985 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
1986
1987         * Array.cs: Fixed legal case where value is null.
1988         * Byte.cs: Fixed ToString when format is an empty string (use "G").
1989         * Guid.cs: Renamed private fields (and changed some to signed) to 
1990         match MS implementation and allow serialization to work. Fix 
1991         bug #59113.
1992
1993 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1994
1995         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
1996
1997 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
1998
1999         * Console.cs: Remove *again* the version of WriteLine with four
2000         arguments;  That should *not* be added.  
2001
2002         Flag it as internal as people migrate their code.
2003
2004 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
2005
2006         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
2007         ArgumentNullException (only case, all other returns 0). Fixed exception
2008         reporting for hex prefix only strings. Fixed ChangeTo where null could
2009         be misinterpreted between null and Empty.
2010
2011 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
2012
2013         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
2014         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
2015         case when we parse Int64.MinValue (positive doesn't fit a signed long).
2016
2017 2004-05-28  Jackson Harper  <jackson@ximian.com>
2018
2019         * Environment.cs: Increment version number.
2020         
2021 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
2022
2023         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
2024         Fixes #59189.
2025
2026 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2027
2028         * DateTime.cs : I reverted my fix by accident :(
2029
2030 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2031
2032         * DateTime.cs :
2033           - In ToString(), Don't use culture-dependent daynames to format
2034             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
2035           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
2036             (since the format string is the same as 'F').
2037
2038 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2039
2040         * DateTime.cs : don't adjust utc value in ToString(). It must output
2041           the same time value, just adding 'Z' for UTC.
2042
2043 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
2044
2045         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
2046           proceeding.
2047
2048 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2049
2050         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
2051
2052 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
2053
2054         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
2055         * Convert.cs: Convert with a base parameter cannot parse negative 
2056         string numbers, even "-0".
2057         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
2058         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
2059         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
2060
2061 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2062
2063         * DateTime.cs : 
2064           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
2065             to common formats (yes, I know it is nothing more than hack)
2066           - Fixed some GetDateTimeFormats() that just returned patterns.
2067           - For InvariantCulture, now try both supported formats and our
2068             predefined formats.
2069           - It was accepting incorrectly extraneous characters. That caused
2070             some UTC/non-UTC bug.
2071           - RFC1123 string should return universal time. Uncomment again (the
2072             problem should went away because of the extra characters fix above.
2073
2074             With some of the changes above, fixed bug #47720.
2075
2076 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
2077
2078         * DateTime.cs : quick revert 'Z' support for certificate verifications.
2079
2080 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
2081
2082         * Array.cs: Removed duplicate condition if LastIndexOf.
2083
2084 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
2085
2086         * DateTime.cs :
2087           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
2088             (Fixed bug #58938.)
2089           - As a quick remedy to accept more patterns, Parse() now also tries
2090             InvariantInfo patterns (this is because we have no more than one
2091             pattern for each pattern component.)
2092           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
2093             culture uses 'Z' as AM/PM designer, and it should be recognized as
2094             part of the UTCpattern (if it actually UTC pattern for the culture
2095             contains 'Z').
2096
2097 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
2098
2099         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
2100         seems to allow multiple attributes with AllowMultiple at
2101         runtime.
2102
2103 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
2104
2105         * Byte.cs: Throw an OverflowException for negative numbers.
2106         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
2107         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
2108
2109 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
2110
2111         * Array.cs: Fixed possible integer overflow.
2112         * BitConverter.cs: Fixed a possible integer overflow in ToString.
2113         * Guid.cs: Added an internal method to create a random Guid without
2114         using CryptoConfig (which is heavy on first use). This is only used
2115         in S.R.E.ModuleBuilder to speedup MCS compilation.
2116         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
2117         possible integer overflow in methods that takes index and count
2118         as parameters.
2119
2120 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
2121
2122         * String.cs: Add new Strcpy icalls which take a char array as 
2123         parameter.
2124
2125 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
2126
2127         * DateTime.cs : added more invariant format patterns. This should
2128           really fix bug #57656.
2129
2130 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
2131
2132         * BitConverter.cs (ToBoolean): Return true or false instead
2133         of unsafe returing byte as bool. Fixes bug #58874.
2134
2135 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
2136
2137         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
2138           string format argument is null.
2139
2140 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
2141
2142         * Version.cs: Rename of data fields to match those in Microsoft.NET.
2143           Patch by PAF@design.ru.
2144
2145 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2146
2147         * DateTime.cs: allow double quotes in the formats. Don't set
2148         next_not_digit to true in presence of single or double quotes. Patch by
2149         Martin Probst.
2150
2151 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
2152
2153         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
2154
2155 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
2156
2157         * Array.cs: Fixed exception when we try to Clear outside bounds.
2158         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
2159         * BitConverter.cs: Fixed negative index and integer overflow in
2160         To... methods.
2161         * Buffer.cs: Fixed integer overflow in BlockCopy.
2162
2163 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
2164
2165         * Array.cs: Clear can now work on multidimentional arrays.
2166         * IntPtr.cs: We now only accept 32bits values in the long constructor
2167         unless we're on a 64 bits machine.
2168         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
2169         constructor unless we're on a 64 bits machine.
2170
2171 2004-05-22  Duncan Mak  <duncan@ximian.com>
2172
2173         * Convert.cs: The file was mostly in DOS endings already, for the
2174         sake of consistency, converted it all to DOS endings.
2175         (ToType): When value is null, immediately return null and don't
2176         ever throw a NullReferenceException. When conversionType is null,
2177         throw an InvalidCastException. Give a better error message when
2178         attempting to convert to a DBNull as well.
2179
2180 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
2181
2182         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
2183         of Decimal (and not use the banker's rounding like Convert.To...).
2184         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
2185         to NaN compares (see new unit tests).
2186
2187 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
2188
2189         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
2190         Also fixed the case where wide (16 bits) characters were converted to 
2191         bytes.
2192
2193 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2194
2195         * ThreadStaticAttribute.cs
2196         * ContextStaticAttribute.cs
2197         * FlagsAttribute.cs
2198         * ObsoleteAttribute.cs : now that Inherited is false by
2199         default on AttributeUsageAttribute (as it should be) we
2200         need to explicitly set Inherited to false for those
2201         attributes should it be be false.
2202
2203 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2204
2205         * AttributeUsageAttribute.cs: Inherited property should be
2206         true by defaultrs.cs: respect Inherited property, and
2207
2208 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2209
2210         * MonoCustomAttrs.cs: respect Inherited property, and
2211         AllowMultiple property of a CustomAttribute. This fixes
2212         a major issue we had with respect to custom attributes.
2213
2214 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
2215
2216         * MonoType.cs: throw ArgumentNullException when type parameter in
2217         GetCustomAttributes(Type, bool) is null
2218
2219 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
2220
2221         * Buffer.cs: Added checks for null source and destination. Fix failing
2222         CryptoStream unit test.
2223         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
2224         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
2225         spec). This removes the TODO to get the computer MAC address and
2226         the chances to get a duplicate GUID (across different machines).
2227
2228 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2229
2230         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
2231           than OverflowExceptions then something went wrong internally
2232
2233 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2234
2235         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
2236           culture - sensitive
2237
2238 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
2239
2240         * Buffer.cs: Optimize BlockCopy.
2241
2242         * Environment.cs: Bump corlib version.
2243
2244 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
2245
2246         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
2247           See also bug #58478.
2248
2249 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2250
2251         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
2252         been set. Just return null as MS. Fixes bug #58120.
2253
2254 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
2255
2256         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
2257           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
2258           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
2259           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
2260           useless [CLSCompliant (false)]
2261
2262
2263 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
2264
2265         * __ComObject.cs: To please corcompare (no implementation).
2266
2267 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
2268
2269         * Environment.cs: Bump corlib version.
2270
2271 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
2272
2273         * Environement.cs: Removed two security attributes for CurrentDirectory
2274         that weren't documented (and anyway we don't support them).
2275
2276 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2277
2278         * Char.cs: Fix exceptions
2279
2280 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
2281
2282         * MissingMemberException.cs: Fix in serialization constructor.
2283
2284 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2285
2286         * Environment.cs: GetGacPath return value is resolved at runtime on
2287         windows.
2288
2289 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
2290  
2291         * Convert.cs: ToBase64CharArray method was depending on a bug in 
2292         S.S.C.ToBase64Transform class to work. Added an internal method to 
2293         provide the same functionality (multiple block processing).
2294
2295 2004-05-06  Jackson Harper  <jackson@ximian.com>
2296
2297         * Environment.cs: Make $HOME the personal directory.
2298
2299 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
2300  
2301         * Convert.cs: ToBase64String method was depending on a bug in 
2302         S.S.C.ToBase64Transform class to work. Added an internal method to 
2303         provide the same functionality (multiple block processing).
2304
2305 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
2306  
2307         * Environment.cs: Completed OSVersion property.
2308         * Version.cs: Added internal CreateFromString() to "try" to build the
2309         best version number form the specified string.
2310  
2311 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2312
2313         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
2314           Fixes several potential bugs and makes things way faster.
2315
2316 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2317
2318         * TimeSpan.cs: Formatting changes
2319
2320 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
2321
2322         * Activator.cs: change _flags to a const.
2323         * IntegerFormatter.cs: make tables readonly.
2324         * Convert.cs: tables readonly
2325         * DateTime.cs: ditto.
2326         * IntPtr.cs: avoid a cctor.
2327
2328 2004-04-29  Jackson Harper  <jackson@ximian.com>
2329
2330         * MonoType.cs: 
2331         * Type.cs: NET_2_0 now instead of 1_2. 
2332         
2333 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2334
2335         * Environment.cs: implemented GetLogicalDrives.
2336
2337 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
2338
2339         * Applied patch from Atsushi Enomoto that allows Synchronized
2340         writers to have a `dont close' flag, this fixes 52094
2341
2342 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
2343
2344         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
2345         return the method if it is private (it did until now because of a
2346         bug). Make sure it works as it worked before the fix.
2347         * Type.cs: Implemented FilterAttribute delegate.
2348
2349 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2350
2351         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
2352
2353 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2354
2355         * IntegerFormatter.cs: Made functions internal (needed by other patches)
2356
2357 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
2358
2359         * DateTime.cs: TODO cleaning.
2360         * Delegate.cs: GetObjectData should be virtual.
2361         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
2362           30 methods almost identical.
2363         * MulticastDelegate.cs: Implemented GetObjectData.
2364         
2365 2004-04-26  Jackson Harper  <jackson@ximian.com>
2366
2367         * Environment.cs: Things going bump in the night.
2368
2369 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
2370
2371         * Convert.cs (toBase64Transform): Make private.
2372
2373 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2374
2375         * Convert.cs:
2376         * Decimal.cs:
2377         * DecimalFormatter.cs:
2378         * FloatingPointFormatter.cs: Call invariant Char functions
2379         * Guid.cs: Call invariant Char and String functions
2380         * String.cs: Call invariant Char functions
2381
2382 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2383
2384         * String.cs: Refactored the Invariant ToXXX into its own internal methods
2385           so they are directly callable within corlib (can prevent early
2386           construction of CultureInfo, InvariantCulture and related classes)
2387
2388 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2389
2390         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
2391         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
2392
2393 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2394
2395         * String.cs: Check for null values
2396
2397 2004-04-23  Peter Bartok <pbartok@novell.com>
2398
2399         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
2400           will do a better fix in the future, but this way apps can at least use it.
2401
2402 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
2403
2404         * Environment.cs: Better support for GetFolderPath (same results as MS 
2405           on Windows).
2406
2407 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
2408
2409         * Activator.cs: Removed TODOs for finished methods.
2410         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
2411           must be relative to the current directory, not the temp directory.
2412           Implemented DynamicBase.
2413         * Convert.cs: No need to create a ToBase64Transform instance at every call
2414           to ToBase64CharArray.
2415         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
2416           ToFileTimeUtc.
2417         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
2418         * Delegate.cs: Removed class TODO.
2419         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
2420           methods.
2421         * Type.cs: Removed TODOs for things already implemented.
2422         
2423 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
2424
2425         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
2426         * MulticastDelegate.cs: Removed unused code.
2427
2428 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
2429
2430         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
2431         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
2432         * BadImageFormatException.cs: TODO reformat.
2433         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
2434         * DelegateSerializationHolder.cs: Made class internal.
2435         * Enum.cs: Removed TODO for localization, since this is something that has
2436           to be done for all classes.
2437         * Environment.cs: Removed TODO.
2438         * Exception.cs: Changed ToString to use StringBuilder.
2439         * MonoDummy.cs: Made class internal.
2440         * UnitySerializationHolder.cs: Added support for modules.
2441
2442 2004-04-16  David Sheldon <dave-mono@earth.li>
2443
2444         * DecimalFormatter.cs: Don't append a decimal point after the
2445           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
2446           "100. %"
2447
2448 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
2449
2450         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
2451           this.
2452
2453 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
2454
2455         * MonoDummy.cs: added MonoTODO to make sure we remove this class
2456           when its no longer needed
2457
2458 2004-04-09  David Sheldon <dave-mono@earth.li>
2459
2460         * Convert.cs: Allow + signs in strings for ToInt32, and
2461           - if it is base 10.
2462
2463 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
2464
2465         * Nullable.cs : usingdecl should also be conditional.
2466
2467 2004-04-07  Martin Baulig  <martin@ximian.com>
2468
2469         * Nullable.cs: New file.
2470
2471 2004-04-07  Martin Baulig  <martin@ximian.com>
2472
2473         * Type.cs (Type.GetGenericArguments): Make this abstract.
2474
2475 2004-04-07  Jackson Harper  <jackson@ximian.com>
2476
2477         * Environment.cs: Increase corlib version number.
2478         
2479 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2480
2481         * Environment.cs:
2482         (ExpandEnvironmentVariables): on windows, env. vars. are case
2483         insensitive.
2484
2485 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
2486
2487         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
2488         Removed [ThreadStatic] for _principalPolicy (not required).
2489
2490 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
2491
2492         * Guid.cs: Flag as Sequential.
2493
2494 2004-04-02  Dick Porter  <dick@ximian.com>
2495
2496         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
2497
2498 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
2499
2500         * Environment.cs: Implement ExpandEnvironmentVariables static method.
2501         Now call the runtime to get the username (fix #56144).
2502
2503 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2504
2505         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
2506         Fixes bug #56341.
2507
2508 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
2509
2510         * Console.cs: If we fail to open stdin/stdout/stderr, create
2511         readers with a NullStream.  This can happen if our caller does not
2512         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
2513         it will happen elsewhere.
2514
2515 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
2516
2517         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
2518         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
2519         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
2520           the constructor. This fixes bug #54019.
2521
2522 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
2523
2524         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
2525           internal variables to structures that are moved around methods.
2526           Factorized some common formatting code into FormatNumberInternal.
2527           
2528 2004-03-23  Dick Porter  <dick@ximian.com>
2529
2530         * DateTime.cs: Allow any character for DateSeparator when parsing,
2531         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
2532         deleted the previous fix for 54721, because this covers it too.
2533         
2534 2004-03-23  Dick Porter  <dick@ximian.com>
2535
2536         * DateTime.cs: Check the date string for too many digits when
2537         parsing.  Fixes bugs 53023 and 53025.
2538
2539 2004-03-22  Dick Porter  <dick@ximian.com>
2540
2541         * String.cs: Use the provider when converting strings to other
2542         types.
2543
2544         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
2545         formats.  Fixes bug 54721.
2546
2547 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2548
2549         * Console.cs: Styled, optimized calls
2550         * CrossAppDomainDelegate.cs: Small header fix
2551         * Buffer.cs: Style, improve errors
2552         * BitConverter.cs: Style, improve errors, remove obsolete comment
2553         * Attribute.cs: Style, improve errors, small fix
2554         * Array.cs: Style, improve errors, small fix, added TODOs
2555         * Activator.cs: Style, localized errors, added error checks
2556         * Byte.cs: Style, localized errors, fixed wrong exception parameters
2557         * Char.cs: Style
2558         * Boolean.cs: Style
2559         * AppDomainSetup.cs: Style
2560         * AppDomain.cs: Style, implemented two methods (redirect)
2561
2562 2004-03-21  Jackson Harper  <jackson@ximian.com>
2563
2564         * FloatingPointFormatter.cs: Set precision from number format info
2565         when it is not specified. This fixes bug #54983.
2566         
2567 2004-03-18  Nick Drochak <ndrochak@ieee.org>
2568
2569         * Math.cs: Use IsNaN() method not "x == NaN".
2570
2571 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2572
2573         * EntryPointNotFoundException.cs
2574         * DuplicateWaitObjectException.cs
2575         * DllNotFoundException.cs
2576         * DivideByZeroException.cs
2577         * ContextMarshalException.cs
2578         * CannotUnloadAppDomainException.cs
2579         * BadImageFormatException.cs
2580         * ArrayTypeMismatchException.cs
2581         * ArithmeticException.cs
2582         * ArgumentOutOfRangeException.cs
2583         * ArgumentNullException.cs
2584         * ArgumentException.cs
2585         * ApplicationException.cs
2586         * AppDomainUnloadedException.cs: Added missing HResult overrides
2587
2588         * BadImageFormatException.cs: Improved/ Fixed implementation
2589
2590 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
2591
2592         * Random.cs: Corrected random value when Next is called with a 
2593         negative value. Testing indictae that our results aren't exactly the 
2594         same as MS, we have a +/- 1 (probably rounding errors due to 
2595         different implementation).
2596
2597 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2598
2599         * Environment.cs: updated corlib version.
2600
2601 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
2602
2603         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
2604           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
2605           field "value" to "m_value", so it is interoperable with MS.NET when 
2606           serializing and deserializing data. Based on the patch from Daniel
2607           Keep.
2608
2609 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2610
2611         * TypeInitializationException.cs
2612         * SystemException.cs
2613         * StackOverflowException.cs
2614         * RankException.cs
2615         * OverflowExceptionException.cs
2616         * OutOfMemoryException.cs
2617         * NullReferenceException.cs
2618         * NotSupportedException.cs
2619         * NotFiniteNumberException.cs
2620         * InvalidOperationException.cs
2621         * InvalidCastException.cs
2622         * IndexOutOfRangeException.cs
2623         * FormatException.cs
2624         * ExecutionEngineException.cs: improved parameter names
2625
2626 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2627
2628         * Enum.cs
2629         * EntryPointNotFoundException.cs
2630         * DuplicateWaitObjectException.cs
2631         * DoubleFormatter.cs
2632         * DllNotFoundException.cs
2633         * DivideByZeroException.cs
2634         * DelegateSerializationHolder.cs
2635         * Delegate.cs
2636         * DBNull.cs
2637         * ContextStaticAttribute.cs
2638         * ContextMarshalException.cs
2639         * ContextBoundObject.cs
2640         * CLSCompliantAttribute.cs
2641         * CharEnumerator.cs
2642         * CannotUnloadAppDomainException.cs
2643         * BadImageFormatException.cs
2644         * AttributeUsageAttribute.cs
2645         * AttributeTargets.cs
2646         * AsyncCallback.cs
2647         * AssemblyLoadEventHandler.cs
2648         * AssemblyLoadEventArgs.cs
2649         * ArrayTypeMismatchException.cs
2650         * ArithmeticException.cs
2651         * ArgumentOutOfRangeException.cs
2652         * ArgumentNullException.cs
2653         * ArgumentException.cs
2654         * ArgIterator.cs
2655         * ApplicationException.cs
2656         * AppDomainUnloadedException.cs
2657         * AppDomain.cs: Mono styled, fixed exceptions/ locales
2658           removed excess usings
2659
2660 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
2661
2662         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
2663         spaces) which fixed #54939. Changed the way that the length is 
2664         validated (multiple of 4) because the ignored characters must not be
2665         included in the count.
2666
2667 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2668
2669         * String.cs: Monostyled
2670
2671 2004-03-09  Jackson Harper  <jackson@ximian.com>
2672
2673         * Char.cs: Only use a byte for numeric data.
2674         
2675 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2676
2677         * TypedReference.cs: Added missing Attributes
2678         * ParamArrayAttribute.cs: Small style fix
2679         * OperatingSystem.cs: Added .Net 1.1 member
2680
2681 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2682
2683         * FieldAccessException.cs
2684         * FormatException.cs
2685         * InvalidCastException.cs
2686         * InvalidOperationException.cs
2687         * MemberAccessException.cs
2688         * MethodAccessException.cs
2689         * MissingFieldException.cs: Locale strings
2690         * MissingMemberException.cs: Locale strings
2691         * MissingMethodException.cs: Locale strings
2692         * NotFiniteNumberException.cs
2693         * NotImplementedException.cs
2694         * NotSupportedException.cs
2695         * NullReferenceException.cs
2696         * ObjectDisposedException.cs
2697         * OutOfMemoryException.cs
2698         * OverflowExceptionException.cs
2699         * PlatformNotSupportedException.cs
2700         * RankException.cs: Added missing HResult overrides
2701
2702 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2703
2704         * RuntimeTypeHandle.cs
2705         * RuntimeMethodHandle.cs
2706         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
2707
2708 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2709
2710         * EventArgs.cs
2711         * Exception.cs
2712         * ExecutionEngineException.cs
2713         * FieldAccessException.cs
2714         * FormatException.cs
2715         * GC.cs
2716         * Guid.cs
2717         * IndexOutOfRangeException.cs
2718         * IntPtr.cs
2719         * InvalidCastException.cs
2720         * InvalidOperationException.cs
2721         * InvalidProgramException.cs
2722         * IServiceProvider.cs
2723         * LoaderOptimization.cs
2724         * LoaderOptimizationAttribute.cs
2725         * MarshalByRefObject.cs
2726         * Math.cs
2727         * MemberAccessException.cs
2728         * MethodAccessException.cs
2729         * MissingFieldException.cs
2730         * MissingMemberException.cs
2731         * MissingMethodException.cs
2732         * MultiCastDelegate.cs
2733         * MulticastNotSupportedException.cs
2734         * NonSerializedAttribute.cs
2735         * NotFiniteNumberException.cs
2736         * NotImplementedException.cs
2737         * NotSupportedException.cs
2738         * NullReferenceException.cs
2739         * ObjectDisposedException.cs
2740         * ObsoleteAttribute.cs
2741         * OperatingSystem.cs
2742         * OutOfMemoryException.cs
2743         * OverflowExceptionException.cs
2744         * PlatformID.cs
2745         * PlatformNotSupportedException.cs
2746         * Random.cs
2747         * RankException.cs
2748         * ResolveEventArgs.cs
2749         * ResolveEventHandler.cs
2750         * RuntimeFieldHandle.cs
2751         * RuntimeMethodHandle.cs
2752         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
2753           removed excess usings
2754
2755 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2756
2757         * SystemException.cs: Exceptions set the HResult
2758         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
2759         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
2760
2761 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2762
2763         * TypedReference.cs
2764         * TypeLoadException.cs
2765         * TypeInitializationException.cs
2766         * TypeCode.cs
2767         * TimeZone.cs
2768         * ThreadStaticAttribute.cs
2769         * SystemException.cs
2770         * STAThreadAttribute.cs
2771         * StackOverflowException.cs
2772         * SingleFormatter.cs
2773         * Single.cs
2774         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
2775           removed excess usings
2776
2777 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2778
2779         * UnauthorizedAccessException.cs: Exceptions set the HResult
2780         * UInt64.cs: Implemented two missing methods
2781         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
2782         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
2783
2784 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2785
2786         * WeakReference.cs
2787         * Void.cs
2788         * Version.cs
2789         * ValueType.cs
2790         * UnitySerializationHolder.cs
2791         * UnhandledExceptionEventHandler.cs
2792         * UnauthorizedAccessException.cs
2793         * UIntPtr.cs
2794         * UInt64.cs
2795         * UInt32.cs
2796         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
2797
2798 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
2799
2800         * Environment.cs: Bump corlib version.
2801
2802 2004-03-04  Jackson Harper  <jackson@ximian.com>
2803
2804         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
2805         
2806 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
2807
2808         * String.cs: Concat() fixed crash when one of the arguments is an object
2809           whose ToString() method returns null.
2810         * TypeLoadException.cs: Added some serialization fiels, needed for
2811           compatibility with MS.NET.
2812
2813 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
2814
2815         * String.cs (Equals): Speed up this method by avoiding Array
2816          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
2817
2818         This gives between 0x (for 1 char) and >2x (for large strings)
2819         factor of improvement.
2820
2821         A big thanks to Miguel, who suggested the integer compares.
2822
2823 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2824
2825         * MonoType.cs: use the binder in GetPropertyImpl.
2826
2827 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2828
2829         * Math.cs: MonoStyled, replaced space with tabs,
2830           speedup of some methods by avoiding method calls
2831
2832 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
2833
2834         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
2835           (Moved from InternalCall to Managed code).
2836
2837 2004-02-17  Martin Baulig  <martin@ximian.com>
2838
2839         * MonoType.cs (GetConstructors): Renamed the interncall to
2840         GetConstructors_internal(), made it internal and added a `Type
2841         reflected_type' argument to it.
2842         (GetEvents, GetFields): Likewise.
2843         (GetMethodsByName): Added `Type reflected_type' argument.
2844         (GetPropertiesByName): Likewise.
2845
2846 2004-02-16  Jackson Harper  <jackson@ximian.com>
2847
2848         * FloatingPointFormater.cs: Allow precision to be up to the number
2849         of decimals without rounding.
2850         
2851 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
2852
2853         * Delegate.cs (Equals): Do not compare method_ptr, since it might
2854         point to a trampoline.
2855
2856 2004-02-12  Jackson Harper  <jackson@ximian.com>
2857
2858         * AppDomainSetup.cs: If relative paths are used they should be
2859         rooted in the temp directory.
2860         
2861 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
2862
2863         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
2864
2865 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
2866
2867         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
2868         avoid an assert in the runtime.
2869
2870 2004-02-08  Duncan Mak  <duncan@ximian.com>
2871
2872         * Convert.cs (ToType): Always let a Convert.ChangeType call
2873         succeed if the source object is already of the destination type.
2874
2875         Patch by Ian MacLean (ianm@activestate.com).
2876
2877 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
2878
2879         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
2880
2881 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
2882
2883         * Environment.cs: Bump corlib version.
2884
2885 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
2886
2887         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
2888         fix bug #53461.
2889
2890 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
2891
2892         * Exception.cs: Changed ToString to remove the \n when no stack trace
2893         is present (which fixed a unit test for SecurityException). Changed
2894         all \n to Environment.NewLine.
2895
2896 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
2897
2898         * ContextBoundObject.cs: Removed TODO.
2899
2900 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2901
2902         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
2903         (double), which might round up.
2904
2905 2004-01-19  Jackson Harper <jackson@ximian.com>
2906
2907         * FloatingPointFormatter.cs: Use the default decimal digits count
2908         if they are not specified. This fixes bug #52927.
2909         
2910 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
2911
2912         * Environment.cs: Bump version number.
2913
2914 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
2915
2916         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
2917         uses IsAssignableFrom(o.GetType()), which is not always valid for 
2918         transparent proxies (because GetType will not return the type of the remote
2919         object if its assembly is not present).
2920
2921 2004-01-18  David Sheldon <dave-mono@earth.li>
2922
2923   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
2924     integer mantassa. So: 1E+15, rather than 1.E+15.
2925
2926 2004-01-18  David Sheldon <dave-mono@earth.li>
2927
2928         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
2929         even though docs say it should be an ArgumentNull. Two test cases now
2930   pass. See also nickd's commit of 2003-12-24.
2931
2932 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2933
2934         * Environment.cs: increased corlib version.
2935
2936 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
2937
2938         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
2939         be reused because they could be modified. This fixes bug #52655.
2940
2941 2004-01-12  Patrik Torstensson
2942
2943         * Environment.cs: Bump corlib version number due to new StringBuilder
2944         
2945         * String.cs: New internal method to support the new StringBuilder that
2946         uses the string as a buffer (until ToString is called)
2947
2948 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
2949
2950         * Environment.cs: Bump corlib version number for real this time.
2951         
2952         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
2953         the runtime, so it can take into account the Culture etc.
2954
2955         * Environment.cs: Bump corlib version number.
2956         
2957 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2958
2959         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
2960         new parameter with the method name and a boolean for ignoring case.
2961         Removed some string comparisons no longer needed.
2962
2963 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2964
2965         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
2966         new parameter with the property name and a boolean for ignoring case.
2967         Fixes bug #52753.
2968
2969 2004-01-11  David Sheldon <dave-mono@earth.li>
2970
2971         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
2972         bug 52274.
2973
2974 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
2975
2976         * AppDomain.cs: Keep track of type resolve and assembly resolve 
2977         events in progress to prevent infinite recursion.
2978
2979 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
2980
2981         * Console.cs: Test for UTF-8 being present anywhere on the
2982         string, also do ToUpper instead of ToLower, which will work even
2983         around the ICU bug with different locales (#52065), and addresses #52101
2984
2985 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
2986
2987         * Environment.cs: Bump version.
2988
2989 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
2990
2991         * Type.cs (IsNotPublic): One would normally assume that
2992         IsNotPublic == !IsPublic, but this is not the case (note to MS,
2993         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
2994         correct for Nested types'
2995
2996 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
2997
2998         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
2999         even though docs say it should be an ArgumentNull. Sent email to MS
3000         about this "bug".
3001
3002 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
3003
3004         * Exception.cs: Several changes to make it compatible with MS.NET (needed
3005         for remoting interoperability): set a default value for hresult, added 
3006         initialization of class_name, serialization field RemoteStackTrace must
3007         be RemoteStackTraceString, added ser. field ExceptionMethod.
3008
3009         * IndexOutOfRangeException.cs: Added serialization constructor.
3010
3011 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
3012
3013         * Int32 (Parse):
3014           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
3015
3016 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
3017
3018         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
3019         user supplied no parameter info, but not when the user supplied an
3020         empty parameter list. This fixes IKVM.
3021
3022         * Environment.cs: Bump corlib version.
3023
3024 2003-12-19  Dick Porter  <dick@ximian.com>
3025
3026         * String.cs: Added Compare shortcut for length==0.
3027
3028 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
3029
3030         * Environment.cs: Bump corlib version.
3031
3032 2003-12-17  Dick Porter  <dick@ximian.com>
3033
3034         * String.cs: Fix StartsWith and EndsWith when the argument is the
3035         empty string.  Fixes bug 52283.
3036
3037 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
3038
3039         * Environment.cs (HasShutdownStarted): Implement.
3040
3041 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
3042
3043         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
3044         
3045         * Environment.cs: Bump version number.
3046
3047 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3048
3049         * DateTime.cs: don't bail out with that year out of range error on
3050         stuff like "MM/dd/yyyy HH:MM:ss".
3051
3052 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
3053
3054         * Environment.cs: Make it a const instead.
3055         
3056         * Environment.cs: Make version field static.
3057
3058 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
3059
3060         * Type.cs: Make DefaultBindingFlags protected.
3061
3062         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
3063         Add new GacPath property + its associated icall.
3064
3065 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
3066
3067         * DateTime.cs : Bugs fixed (41845, 51422)
3068         * MonoType.cs : Exception message changed 
3069
3070 2003-12-08  Martin Baulig  <martin@ximian.com>
3071
3072         * Type.cs (MakeByRefType): New public method.
3073
3074 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
3075
3076         * Environment.cs: Add a version number for the corlib-runtime interface
3077         to make it easier to diagnose problems resulting from a mismatch 
3078         between the two.
3079
3080 2003-12-08  Patrik Torstensson   <p@rxc.se>
3081
3082         * Type.cs (GetMethod): Check type arguments within array
3083         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
3084         (same signature but different classes (derived level)
3085
3086 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
3087
3088         * Type.cs (MakeArrayType): Add argument checking.
3089
3090 2003-12-06  Dick Porter  <dick@ximian.com>
3091
3092         * String.cs: Don't use CompareInfo for non-culture-sensitive
3093         IndexOf and LastIndexOf methods.
3094
3095 2003-12-06  Ravindra  <rkumar@novell.com>
3096
3097         * DateTime.cs: Made Parse(string, IFormatProvider) method to
3098         use second argument. Fixed bug #51464.
3099
3100 2003-12-04  Martin Baulig  <martin@ximian.com>
3101
3102         * Type.cs (Type.MakeArrayType): New public method.
3103
3104 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3105
3106         * Buffer.cs:
3107         (BlockCopy): make the exception thrown helpful.
3108
3109 2003-12-03  Dick Porter  <dick@ximian.com>
3110
3111         * String.cs: Calling Replace on an empty string returns itself.
3112
3113 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
3114
3115         * MonoType.cs: Get rid of get_type_info, use a separate icall for
3116         each property instead.
3117
3118 2003-12-02  Dick Porter  <dick@ximian.com>
3119
3120         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
3121         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
3122
3123 2003-12-01  Dick Porter  <dick@ximian.com>
3124
3125         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
3126         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
3127
3128 2003-11-28  Dick Porter  <dick@ximian.com>
3129
3130         * Type.cs: 
3131         * MonoType.cs: 
3132         * Enum.cs: 
3133         * Boolean.cs: Do string compares with the Invariant culture.
3134
3135 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
3136
3137         * Array.cs: make the enumerator ICloneable
3138
3139 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
3140
3141         * Decimal.cs (ToXXX): Call Convert.ToXXX.
3142
3143 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
3144
3145         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
3146         Implement Load(byte[]) methods.
3147
3148         * BadImageFormatException.cs: Fix ToString.
3149
3150 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
3151
3152         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
3153         GetConstructor, as done by MS.
3154
3155 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3156
3157         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
3158
3159 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
3160
3161         * TypeInitializationException.cs: Added missing serialization constructor.
3162
3163 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3164
3165         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
3166         ApplicationBase. The tests pass now with mono.
3167
3168 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
3169
3170         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
3171
3172 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3173
3174         * Environment.cs: use Directory in CurrentDirectory property.
3175         We were not throwing any exception when setting the directory to an
3176         invalid path.
3177
3178 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3179
3180         * Array.cs:
3181         * Delegate.cs: implemented 1.1 stuff.
3182
3183         * Enum.cs:
3184         * IntPtr.cs: removed extra attribute.
3185         * PlatformID.cs: added WinCE.
3186
3187 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3188
3189         * ValueType.cs:
3190         (Equals): compare the fields of structs too.
3191         (GetHashCode): combine the hash code of all the fields.
3192         Fixes bug #50901 (will remove the icall in a couple of days).
3193
3194 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3195
3196         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
3197
3198 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3199
3200         * DateTime.cs: handle century when we try to parse 4-digit years and
3201         only 2 digits are present. Fixes bug #49394.
3202
3203 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
3204
3205         * Console.cs: On utf-8 consoles, use unmarked output.
3206
3207 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3208
3209         * IAppDomainSetup.cs:
3210         * _AppDomain.cs: 
3211         * Object.cs:
3212         * Type.cs: Added missing attribute
3213
3214 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
3215
3216         * Environment.cs: Added internal method for getting the path to 
3217         machine.config.
3218         
3219 2003-11-12 Jackson Harper <jackson@ximian.com>
3220
3221         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
3222         enum. This fixes the SWF build.
3223         
3224 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
3225
3226         * PlatformID.cs: Remove Unix platform, we cant expose constants
3227         that are not in the framework.
3228
3229         * OperatingSystem.cs: Adjust for the breakage.
3230
3231         * RuntimeMethodHandle.cs: Fix signature.
3232
3233         * Double.cs: Fix signature of TryParse.
3234
3235         * String.cs (Concat (object, object, object, object)): Add missing method.
3236
3237         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
3238         in the .NET Framework.
3239
3240         * Enum.cs: Hide constructor.  
3241
3242         Fix ToUint16 to be explicitly implemented.
3243
3244         * Console.cs: Add couple of extra missing methods (Write and
3245         WriteLine overloaded)
3246
3247 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
3248
3249         * AppDomain.cs, Activator.cs: New unimplmented entry points from
3250         1.1 (Com activation related).
3251         
3252         * Exception.cs: Formatting.
3253         
3254         * IServiceProvider.cs: Add ComVisible (true).
3255
3256         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
3257
3258 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
3259
3260         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
3261           #50356.
3262
3263 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
3264
3265         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
3266         on MonoMethod instead of Invoke.
3267
3268 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
3269
3270         * DateTime.cs: Fixed Add* methods handling. Now it works properly
3271         with extreme values (there is a bug with Overflow and Underflow in
3272         long type).
3273
3274 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
3275
3276         * DateTime.cs: Fixed a few format bugs.
3277
3278 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
3279
3280         * AppDomain.cs (InternalPushDomainRef): New icalls.
3281
3282         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
3283         different appdomain.
3284
3285 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
3286
3287         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
3288
3289 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
3290
3291         * AppDomain.cs (IsFinalizingForUnload): Implement.
3292
3293         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
3294         to unmanaged code.
3295
3296 2003-10-25  Martin Baulig  <martin@ximian.com>
3297
3298         * MonoType.cs: Don't make this sealed.
3299
3300 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
3301
3302         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
3303
3304 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
3305
3306         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
3307         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
3308
3309 2003-10-22  Dick Porter  <dick@ximian.com>
3310
3311         * DateTime.cs: Handle '-' as a date separator when parsing formats.
3312
3313 2003-10-20  Duncan Mak  <duncan@ximian.com>
3314
3315         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
3316         and merge the two iterations into one.
3317
3318 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
3319
3320         * TypedReference.cs: Add new field used by the runtime.
3321
3322 2003-10-15  Martin Baulig  <martin@ximian.com>
3323
3324         * Type.cs (Type.DeclaringMethod): For a generic method's type
3325         parameter, return this method - otherwise, return null.
3326
3327 2003-10-14  Martin Baulig  <martin@ximian.com>
3328
3329         The generics API has changed in the spec since it was added here;
3330         these modifications make it match the spec again.
3331
3332         * Type.cs
3333         (GetGenericParameters): Renamed to `GetGenericArguments'.
3334         (HasGenericParameters): Renamed to `HasGenericArguments'.
3335         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
3336         (IsGenericTypeDefinition): New property.
3337         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
3338
3339         * MonoType.cs (ContainsGenericParameters): Implement this here;
3340         this is no interncall anymore.
3341
3342 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3343
3344         * Delegate.cs: add the method name to the exception when it cannot be
3345         bound.
3346         * Exception.cs: fix nullref in Source.
3347
3348 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
3349
3350         * Array.cs: Add argument checking to GetValue and SetValue.
3351
3352 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
3353
3354         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
3355         should not be TimeSpan.MaxValue, because it overflow.  Set this to
3356         be MAX_VALUE_TICKS
3357
3358 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3359
3360         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
3361         duplicate entry exception.
3362
3363 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
3364
3365         * DateTime.cs (ToString): Total rewrite, fixes #49358.
3366
3367 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
3368
3369         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
3370
3371 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3372
3373         * Enum.cs:
3374         (Equals): check that the object is an Enum before comparing the types.
3375
3376 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3377
3378         * Array.cs: reduced xsp allocated memory by 1/2.
3379
3380 2003-09-25  Martin Baulig  <martin@ximian.com>
3381
3382         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
3383         since it was identical to GetGenericTypeDefinition().
3384         (Type.IsGenericInstance): New property.
3385
3386 2003-09-24  Duncan Mak  <duncan@ximian.com>
3387
3388         * Math.cs (Abs): Fix double Locale.GetText bug reported by
3389         davejp@volny.cz. This fixes #48788.
3390
3391 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
3392
3393         * FloatingPointFormatter.cs: Add the necessary castings to char
3394         conversions.
3395
3396 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
3397
3398         * FloatingPointFormatter.cs: Make the method calls more functional
3399         for protecting the values from different threads (make it more
3400         thread safe).
3401
3402 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
3403
3404         * FloatingPointFormatter.cs: Fix a bug with the negative value of
3405         count parameter.
3406
3407 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
3408
3409         * FloatingPointFormatter.cs: Applied a lot of improvements in string
3410         construction, make use of Append/Insert with the "count" parameter.
3411     Thanks to Ben Maurer.
3412
3413 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
3414
3415         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
3416
3417         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
3418         last change.
3419
3420 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
3421
3422         * DoubleFormatter.cs: A few optimizations. Now, only one object
3423         is created to convert all double numbers.
3424
3425         * SingleFormatter.cs: A few optimizations. Now, only one object
3426         is created to convert all float numbers.
3427
3428         * FloatingPointFormatter.cs: Split the "number type parameters" from
3429         the "numver value and format parameters". The first ones are in the
3430         constructor and the others are in a method.
3431
3432 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
3433
3434         * Array.cs: Added argument checking to some NET_1_1 methods.
3435
3436 2003-09-04  Martin Baulig  <martin@ximian.com>
3437
3438         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
3439
3440 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3441
3442         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
3443         taking 'longs'. All tests pass.
3444
3445 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
3446
3447         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
3448         Source. Remove MonoTODO attributes (class is 100% done). Also
3449         passes all Rotor tests for Exception!
3450
3451 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
3452
3453         * Enum.cs: Remove [MonoTODO]'s that had been completed.
3454
3455 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3456
3457         * String.cs: fixed bug #47802.
3458
3459 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
3460
3461         * String.cs: Created method FormatHelper that does formatting,
3462         using a StringBuilder.
3463
3464 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3465
3466         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
3467
3468 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3469
3470         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
3471         methods under MS.
3472
3473 2003-08-11  Duncan Mak  <duncan@ximian.com>
3474
3475         * Environment.cs (Version): Return the same numbers as the MS
3476         implementation.
3477
3478 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
3479
3480         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
3481         replicated tests, and have a routine that does the heavy lifting.
3482
3483 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
3484
3485         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
3486           of DateTime.
3487         * Environment.cs: return $HOME for ApplicationData folder.
3488
3489 2003-08-04  Duncan Mak  <duncan@ximian.com>
3490
3491         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
3492         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
3493         floating point values. This fixes bug #46175.
3494
3495         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
3496         noted by c5n4kh6u02@sneakemail.com in
3497         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
3498
3499 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
3500
3501         * Double.cs: added icall Double.AssertEndianity.
3502
3503 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
3504
3505         * Type.cs, MonoType.cs: implemented generic-specific methods.
3506
3507 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
3508
3509         * Buffer.cs: Add new internal MemCopy call.
3510
3511         Removed the above.
3512
3513 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
3514
3515         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
3516         to icalls, to avoid special cases in some call conventions.
3517
3518 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3519
3520         * Enum.cs: added Serializable attribute.
3521
3522 2003-07-25  Duncan Mak  <duncan@ximian.com>
3523
3524         * AppDomain.cs (Equals):
3525         (GetHashCode): Removed because they do not need to be defined
3526         here.
3527
3528 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3529
3530         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
3531         cannot even get the type.
3532
3533 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
3534
3535         * Type.cs: Added generics stubs.
3536
3537 2003-07-23  Duncan Mak  <duncan@ximian.com>
3538
3539         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
3540         as values for NET_1_1.
3541         (GetFolderPath): Return the empty string ("") for values of
3542         SpecialFolder that have no corresponding equivalents in
3543         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
3544         and "$HOME" for SpecialFolder.Personal.
3545
3546         * IntPtr.cs (GetObjectData): Mark it as an interface
3547         implementation, instead of a public method.
3548
3549         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
3550
3551         * TypeLoadException.cs (GetObjectData):
3552         Create stubs for the fields that are being serialized.
3553
3554         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
3555
3556 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
3557         
3558         * Enum.cs: Fixed enum formatting. For flag enums, if one of
3559           the flags is unnamed, ToString() returns the integer value.
3560
3561 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
3562
3563         * Guid.cs: Fixed ToString (), was producing incorrect string.
3564
3565 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3566
3567         * AppDomainSetup.cs: fixed bug #46609.
3568
3569 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
3570
3571         * MonoType.cs: use an icall for IsPrimitiveImpl ().
3572
3573 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
3574
3575         * Guid.cs: faster ToString ().
3576
3577 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
3578
3579         * FloatingPointFormatter.cs: Few changes for get working Rotor
3580         tests.
3581
3582 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
3583
3584         * Type.cs (IsAssignableFrom): Implement this as an icall since the
3585         runtime already includes the neccessary logic.
3586
3587 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3588
3589         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
3590         if it's present and get the full path for non-Uri paths.
3591
3592 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
3593
3594         * DateTime.cs: Fixed formatting of fractions of second.
3595
3596 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
3597
3598         * Console.cs: Turn off buffering for the streams returned by
3599         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
3600
3601 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
3602
3603         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
3604           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
3605           a new random number (although it is not needed), while mono did not. 
3606           As a result, the sequence of random numbers could be different for the
3607           same seed.
3608
3609 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
3610
3611         * FloatingPointFormatter.cs: use dec_len2 as default precision.
3612
3613 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
3614
3615         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
3616           be done after the correspondig UTC offset has been applied.
3617
3618 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
3619
3620         * Object.cs: Object must have the Serializable attribute.
3621         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
3622           to the resulting date. Also fixed _ToString so now correctly formates the
3623           UTC offset.
3624
3625 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
3626
3627         * Enum.cs: fix race in cache (bug#41841).
3628
3629 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
3630
3631         * FloatingPointFormatter.cs: if the precision is not specified, use
3632         the default precision for the data type.
3633
3634 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
3635
3636         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
3637         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
3638
3639 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3640
3641         * MonoType.cs: don't throw nullref when the return type for a property
3642         is specified and the property doesn't have a get accessor.
3643
3644 2003-06-10  Duncan Mak  <duncan@ximian.com>
3645
3646         * Array.cs (CreateInstance): Fixed a typo. It should throw
3647         ArgumentNullException instead of ArgumentException.
3648
3649 2003-06-09  Duncan Mak  <duncan@ximian.com>
3650
3651         * Array.cs: Revert the last revert. I fixed it.
3652         (Sort): Put a try-catch block around qsort, and wrap whatever
3653         Exception we get into a InvalidOperationException.
3654
3655 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
3656
3657         * Array.cs: Revert last patch, it broke some other functionality.
3658                 
3659 2003-06-08  Duncan Mak  <duncan@ximian.com>
3660
3661         * Array.cs: Throw more exceptions. This fixes the errors we see
3662         from the Rotor testsuite.
3663
3664         (CreateInstance): Throw ArgumentNullException when the input are
3665         null. Throw ArgumentOutOfRangeException when bounds + length is
3666         greater than Int32.MaxValue.
3667         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
3668         the valid range of indices of array.
3669         (Sort): Throw InvalidOperationException when comparer is null and
3670         none of the elements in keys implements IComparable.
3671
3672 2003-06-08  Duncan Mak  <duncan@ximian.com>
3673
3674         * Array.cs (CreateInstance): Throw a TypeLoadException if the
3675         Length of the input array 'lengths' is greater than 255 so that we
3676         won't see the g_assert that is in mono_array_class_get in class.c.
3677
3678         This fixes bug #44304.
3679
3680 2003-06-05  Nick Drochak  <ndrochak@gol.com>
3681
3682         * UnitySerializataionHolder.cs: Cleanups according to class status page
3683
3684 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
3685
3686         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
3687         RuntimeTypeHandle.cs: implemented the needed stuff to handle
3688         vararg calls.
3689
3690 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
3691
3692         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
3693         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
3694         for Ben Maurer after review and testing.
3695
3696 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
3697         
3698         * Array.cs: Added better argument checking to Array.Sort ()
3699         * DBNull.cs: Made the conversions throw like they do in MS.
3700
3701 2003-05-24  Philip Van Hoof  <me@freax.org>
3702
3703         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
3704
3705 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
3706
3707         * FloatingPointFormatter.cs: Take care with the explicit precision
3708         and round the number to that precision.
3709
3710         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
3711
3712         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
3713
3714 2003-05-20  Philip Van Hoof <me@freax.org>
3715
3716         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
3717         Implemented.
3718
3719 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
3720
3721         * AppDomainSetup.cs: Added new field which is used to notify the
3722         runtime that the search path has changed.
3723
3724 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
3725
3726         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
3727         introduced the last change I've done.
3728
3729 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
3730
3731         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
3732         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
3733         behaving correctly).
3734         
3735 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
3736
3737         * FloatingPointFormatter.cs: Fixed little format mismatches.
3738
3739 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
3740
3741         * FloatingPointFormatter.cs: Fixed "-0" result emited.
3742
3743 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3744
3745         * AppDomain.cs: Added null argument check in Load().
3746         * Activator.cs: fixed bug #39926.
3747
3748 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3749
3750         * Enum.cs: fixed bugs #41522 and #42879.
3751
3752 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
3753
3754         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
3755         undocumented MS behaviour.
3756
3757 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3758
3759         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
3760         Jaime.
3761
3762 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3763
3764         * String.cs: fixed bug #41411 and another similar problem in
3765         LastIndexOf (string).
3766
3767 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3768
3769         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
3770         bug #42695.
3771
3772 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
3773
3774         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
3775         construction if the delegate list only has one element.
3776
3777 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
3778
3779         * Environment.cs: Changed the method GetFolderPath because it must
3780         return at least a directory name (not null).
3781
3782         * Convert.cs: In ToType, if the destination type is unknown, try to
3783         cast the value to object (then, the calling method will downcast it
3784         to the type it wants).
3785
3786 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3787
3788         * Enum.cs: fixed bug #41522.
3789
3790 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
3791
3792         * Enum.cs: protect with the lock also the lookup (bug #41841).
3793
3794 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
3795
3796         * MonoType.cs: allow a null name if InvokeMember is called with
3797         BindingFlags.CreateInstance set.
3798
3799 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3800
3801         * Enum.cs: reverted my previous patch.
3802
3803 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3804
3805         * Enum.cs: fixed bug #41841.
3806
3807 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3808
3809         * MonoType.cs:
3810         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
3811
3812 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
3813
3814         * FloatingPointFormatter.cs: Little fixes for get the same results
3815         as MS.NET and show a message when something goes wrong with the
3816         parser of Custom Formats.
3817
3818 2003-04-22  Nick Drochak  <ndrochak@gol.com>
3819
3820         * Double.cs (ToString):
3821         * Single.cs (ToString): Handle case where param is a CultureInfo.
3822
3823 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
3824
3825         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
3826         ValueType::Equals() icalls static non-virtual, so they can be called
3827         by the code in RuntimeHelpers.
3828
3829 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
3830
3831         * Delegate.cs (operator ==): Do not crash if the second argument
3832         is null.  Bug fix submitted by Juan Cri.
3833
3834 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
3835
3836         * Array.cs: Deleted the exception in Array.Initialize(), it looks
3837         like the method do nothing for C#, is still a MonoTODO until
3838         we find a compiler that uses that.
3839
3840 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
3841
3842         * Delegate.cs (Delegate): Seems like a typo, we were checking the
3843         a field rather than the argument 
3844
3845         * MonoType.cs: Make GetNestedType an external method implementation.
3846
3847 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3848
3849         * Enum.cs: fixed bug #41294.
3850
3851 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3852
3853         * DateTime.cs: fixes bug #40910, part 2.
3854
3855 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
3856
3857         * String.cs (Equals): avoid the internal call, code cleanups
3858
3859 2003-04-11  Alan Tam <Tam@SiuLung.com>
3860
3861         * Convert.cs: fixed bug #41085.
3862
3863 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
3864
3865         * AppDomain.cs: Added internal method for getting process guid.
3866
3867 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
3868
3869         * Array.cs: Little fix to compare () method.
3870         
3871 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
3872
3873         * String.cs (Equals): Add trivial optimization.
3874
3875 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3876
3877         * DateTime.cs: fixed bug #40910.
3878
3879 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
3880
3881         * Console.cs: Make stderr, stdout and stdin use synchronized
3882         versions of the their readers/writers.
3883
3884 2003-04-04  Dick Porter  <dick@ximian.com>
3885
3886         * Version.cs: Make operator== and operator!= cope with null
3887         objects.  Didn't change operator<, operator<=, operator> or
3888         operator>= because its not meaningful to use those to compare
3889         against null, and throwing a NullReferenceException is probably
3890         the best thing to do there anyway.
3891
3892         Fixes bug 40720.
3893
3894 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3895
3896         * AppDomain.cs: fixed InvalidCastException.
3897
3898 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
3899
3900         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
3901         type checks and let it decide whenever a fast copy is possible.
3902
3903 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3904
3905         * MonoType.cs:
3906         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
3907
3908 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
3909
3910         * Activator.cs (CreateInstance): Call GetConstructor with the right
3911         arguments so the nonPublic argument is handled correctly.
3912
3913 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3914
3915         * Type.cs: fixed bug #40123.
3916
3917 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
3918
3919         * FloatingPointFormatter.cs: Fixed some bugs for get the same
3920         results than MS.NET. Added simple error recovering, now ToString
3921         will return a general format if there is any exception in the
3922         process of formatting. This make the library more robust while the
3923         formatters are refined.
3924
3925 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
3926
3927         * FloatingPointFormatter.cs: Added support for group separators.
3928
3929 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
3930
3931         * Single.cs:
3932         * Double.cs: Apply changes of .ToString methods.
3933         * SingleFormatter.cs:
3934         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
3935         * FloatingPointFormatter.cs: New class. Implementation of double and
3936         single formatters. It is unified now and parametrized with precission
3937         values.
3938
3939 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
3940
3941         * AppDomain.cs: fixes bugs #39380 and #39331.
3942
3943 2003-03-06  Nick Drochak  <ndrochak@gol.com>
3944
3945         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
3946
3947 2003-03-04  Dick Porter  <dick@ximian.com>
3948
3949         * Single.cs:
3950         * Double.cs: Temporarily reverted the Double and Single ToString()
3951         change, because it broke nunit.
3952
3953
3954 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
3955
3956         * Double.cs: Changed ToString method. Added NumberFormatInfo support
3957         with DoubleFormatter class.
3958         * Single.cs: Changed ToString method. Added NumberFormatInfo support
3959         with SingleFormatter class.
3960         * DoubleFormatter.cs: New class with Double formatting functions.
3961         * SingleFormatter.cs: New class with Single formatting functions.
3962
3963 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
3964
3965         * Activator.cs: Added support for activation using activation attributes.
3966         * AppDomain.cs: Added internal method to get the default context from the runtime.
3967
3968 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
3969
3970         * DateTime.cs: FileTime is expressed in Universal time, and as such must
3971         be converted before subtracting the magic offset.
3972         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
3973         the timezone at the end) *must* be parsed by DateTime.Parse() for
3974         compatibility with Microsoft.
3975
3976 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3977
3978         * Attribute.cs:
3979         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
3980         #38238).
3981
3982         * IntPtr.cs: added serialization .ctor
3983
3984 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3985
3986         * AppDomain.cs: check for null in Unload and changed method name.
3987
3988 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3989
3990         * MonoCustomAttrs.cs: fixed bug #38238.
3991
3992 2003-02-17  Martin Baulig  <martin@ximian.com>
3993
3994         * Exception.cs (Exception.ToString): Print a newline between the
3995         exception message and the stack trace.
3996
3997 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3998
3999         * AppDomain.cs: implemented GetCurrentThreadId ().
4000
4001 2003-02-14  Patrik Torstensson
4002
4003         * Exception.cs: Fixed message output formating
4004
4005 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4006
4007         * Int32.cs:
4008         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
4009
4010 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
4011
4012         * Type.cs: IsClass should return false for Enumerations
4013
4014 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4015
4016         * MonoCustomAttrs.cs: return the correct array type in the short case.
4017         Fixes bug #37818.
4018
4019 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
4020
4021         * Math.cs: Fix a few methods (like Round) and add with comments the
4022         new methods: BigMul and DivRem that were in ECMA specs.
4023
4024 2003-02-07  Patrik Torstensson
4025
4026         * Exception.cs: Fixed formating
4027
4028 2003-02-05  Patrik Torstensson
4029
4030         * AppDomain.cs: Partly fixed the unload method 
4031         
4032 2003-02-04  Patrik Torstensson
4033
4034         * AppDomain.cs: Fixed lease issue with appdomain
4035
4036 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
4037
4038         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
4039           InitializeLifetimeService().
4040
4041 2003-02-03  Patrik Torstensson
4042
4043         * AppDomain.cs: New internalcalls for handling domain/context switches
4044         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
4045
4046 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4047
4048         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
4049         and ClearShadowCopyPath and fixed GetType ().
4050
4051         * Attribute.cs: clean up.
4052
4053         * Console.cs: removed UnixConsoleEncoding. Use Default.
4054
4055 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4056
4057         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
4058         GetCustomAttributes later.
4059
4060 2003-01-31  Patrik Torstensson
4061
4062         * Buffer.cs: Changed access level of BlockCopyInternal
4063
4064 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
4065
4066         * String.cs, IntegerFormatter.cs: use const where appropriate.
4067
4068 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4069
4070         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
4071         reporting.
4072
4073 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4074
4075         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
4076         The argument ICustomAttributeProvider can be of other types different
4077         from Type. Handle it.
4078
4079 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
4080
4081         * DateTime.cs: fix FromFileTime so the time returned by 
4082         File::GetLastModificationTime etc. is in the correct timezone.
4083
4084 2003-01-28  Patrik Torstensson
4085         * Exception.cs: reverted formating/endline changes (sorry guys)
4086
4087 2003-01-28  Patrik Torstensson
4088
4089         * MarshalByRefObject.cs: implemented GetObjectIdentity
4090         * Exception.cs: added support for remote exceptions
4091
4092 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4093
4094         * DateTime.cs: fixed bug #37225.
4095
4096 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4097
4098         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
4099
4100 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
4101
4102         * AppDomain.cs: Added DoTypeResolve method which will be called by
4103         the runtime to raise TypeResolve events.
4104
4105 2003-01-27  Duncan Mak  <duncan@ximian.com>
4106
4107         * Enum.cs (ToType): Implement this using Convert.ToType.
4108
4109 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
4110
4111         * Math.cs: Remove Pow's implementation body as it was wrong.  The
4112         C code does the right thing.  The code was trying to handle a
4113         number of cases, and that was incorrect.
4114
4115 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4116
4117         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
4118         bug #37113.
4119
4120 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4121
4122         * Enum.cs: added caching to GetInfo.
4123
4124 2003-01-23  Dick Porter  <dick@ximian.com>
4125
4126         * Environment.cs (System): Implemented ExitCode
4127
4128 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
4129
4130         * Type.cs (IsInstanceOfType): fixed regression caused by the change
4131         to IsSubclassOf().
4132
4133 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4134
4135         * MonoType.cs: re-added lines that were removed in the previous commit.
4136
4137 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
4138
4139         * Type.cs: corrected property IsSerializable. It should always return
4140         true for enums and delegates
4141         * MonoType.cs: added serialization support.
4142         * Delegate.cs: added serialization support.
4143         * DBNull.cs: added serialization support.
4144         * UnitySerializationHolder.cs: supports serialization of Assembly,
4145         MonoType and DBNull.
4146         * DelegateSerializationHolder.cs: added.
4147
4148 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4149
4150         * Exception.cs: changed default message to match MS one.
4151
4152 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
4153
4154         * String.cs: Fixed bug with CompareOrdinal
4155
4156 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4157
4158         * Enum.cs: implements IFormattable.
4159
4160 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4161
4162         * AppDomain.cs: implemented DoCallBack method.
4163         * MonoType.cs:
4164         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
4165         Public, Instance.
4166
4167         NUnit2 tests start moving.
4168
4169 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4170
4171         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
4172         instantiate an abstract class.
4173
4174 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4175
4176         * Type.cs:
4177         (IsSubclassOf): return false when null. Use != instead of Equals.
4178
4179 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4180
4181         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
4182
4183 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
4184
4185         * MonoType.cs: fixed Namespace property for nested types.
4186
4187 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
4188
4189         * MonoCustomAttrs.cs: create properly typed arrays when returning
4190         arrays of attributes of a given type.
4191
4192 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
4193
4194         * MonoType.cs: fixed MemberType property for nested types.
4195
4196 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4197
4198         * String.cs: fixed bug #36209.
4199
4200 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
4201
4202         * Activator.cs: implemented method GetObject.
4203
4204 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
4205
4206         * Activator.cs: Since the documentation indicates the method
4207         either succeeds or throws one of the listed exceptions, we weren't
4208         expecting that CreateInstance might be returning null.
4209
4210         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
4211
4212 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
4213
4214         * MarshalByRefObject.cs: implemented CreateObjRef.
4215
4216 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4217
4218         * DateTime.cs: fixed bug #30076.
4219         * TimeZone.cs: provide the parameter name in a exception.
4220
4221 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4222
4223         * DecimalFormatter.cs: fixed bug #35560.
4224
4225 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
4226
4227         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
4228
4229 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4230
4231         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
4232         nulls. Fixes #34909.
4233
4234 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4235
4236         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
4237         returns a non-null assembly.
4238
4239 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4240
4241         * MulticastDelegate.cs: make GetInvocationList work for more than 1
4242         delegate.
4243
4244 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4245
4246         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
4247         if this is the correct order of invocation.
4248
4249 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4250
4251         * Type.cs: changed the signature of internal_from_name. Modified
4252         the overloads of GetType to use it and check the typeName argument.
4253         Implemented FindInterfaces.
4254
4255 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4256
4257         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
4258         some obscure reasons (try make -f makefile.gnu using a corlib which has
4259         the modified version).
4260
4261 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
4262
4263         * String.cs (Concat): Reduce the number of compares required. 
4264
4265 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
4266
4267         * Activator.cs: throw a MissingMethodException if the default
4268         constructor is not found in CreateInstance.
4269
4270 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4271
4272         * String.cs:
4273         (Equals (str, str)): use 'as' instead of casting to object.
4274         (Equals (obj)): check the length of the strings (until now,
4275         "Hello".Equals ((object) "Hellow World!) was true!).
4276
4277 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4278
4279         * MonoType.cs: implemented GetEvent (name, flags).
4280
4281 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4282
4283         * AppDomain.cs: implemented a couple of methods called from the runtime
4284         to fire AssemblyLoad and AssemblyResolve events.
4285
4286 2002-10-31  Dick Porter  <dick@ximian.com>
4287
4288         * Environment.cs: MonoIO methods now have an error parameter
4289
4290 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
4291
4292         * Enum.cs: Added support for whitespaces in Enum:Parse().
4293
4294 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4295
4296         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
4297         internal call. Closes bug #32992.
4298
4299 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4300
4301         * Exception.cs: display the inner exception, if any, in ToString ().
4302
4303 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4304
4305         * Environment.cs: fixed StackTrace property.
4306
4307 2002-10-16  Nick Drochak  <ndrochak@gol.com>
4308
4309         * Enum.cs (Parse): Then fix the code so that it works too.
4310
4311 2002-10-15  Nick Drochak  <ndrochak@gol.com>
4312
4313         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
4314
4315 2002-10-12  Nick Drochak  <ndrochak@gol.com>
4316
4317         * IntegerFormatter.cs: Fix compiler warnings.
4318
4319 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
4320
4321         * Type.cs (GetConstructors): Use the correct flags.
4322
4323 2002-10-09  Nick Drochak  <ndrochak@gol.com>
4324
4325         * IntegerFormatter.cs: Suppress insignificant leading zeros
4326
4327 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
4328
4329         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
4330         <stonewell@21cn.com> to return also derived types.
4331
4332 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4333
4334         * Activator.cs: little fix in CreateInstance (Type, bool).
4335
4336 2002-09-19  Duncan Mak  <duncan@ximian.com>
4337
4338         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
4339         I18N/Common from building right now.
4340
4341 2002-09-19  Nick Drochak  <ndrochak@gol.com>
4342
4343         * Array.cs (CopyTo): Account for Object type and base (primitive) types
4344         * Type.cs (IsAssignableFrom): return false for a null parameter
4345
4346 2002-09-19  Nick Drochak <ndrochak@gol.com>
4347
4348         * Array.cs (CopyTo): Check that source type can be cast automatically
4349         to the destination type.
4350
4351 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4352
4353         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
4354         GetDefaultMembers.
4355
4356 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4357
4358         * Char.cs: implemented ToString (char)
4359         * IntegerFormatter.cs: made it internal.
4360
4361 2002-09-13  Nick Drochak  <ndrochak@gol.com>
4362
4363         * Enum.cs (Format): handle the "d" format for both signed and unsigned
4364         underlying types.
4365
4366 2002-09-12  Dick Porter  <dick@ximian.com>
4367
4368         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
4369         attribute, as there doesn't appear to be any struct
4370         layout-depending code here (and corcompare says it should be
4371         LayoutKind.Sequential)
4372
4373         * Decimal.cs: Stub out missing methods, add
4374         [DecimalConstantAttribute] to the constant fields (as shown by
4375         corcompare).
4376
4377         * LocalDataStoreSlot.cs: 
4378         * Environment.cs: 
4379         * Char.cs: 
4380         * Array.cs: Stub out missing methods.
4381
4382         * TypedReference.cs: 
4383         * ArgIterator.cs: Stub out
4384
4385         * AppDomainSetup.cs: 
4386         * AppDomain.cs: Stub out missing methods, add missing
4387         ClassInterface(ClassInterfaceType.None) attribute.
4388
4389 2002-09-12  Nick Drochak  <ndrochak@gol.com>
4390
4391         * Double.cs (ToString): Throw exception when "X" format is passed in.
4392
4393 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
4394
4395         * MonoType.cs: implemented Module property.
4396
4397 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
4398
4399         * MonoType.cs, Type.cs: implemented InvokeMember.
4400
4401 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
4402
4403         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
4404         type. Check the method signature matches.
4405
4406 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
4407
4408         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
4409
4410 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
4411
4412         * Console.cs: Specify an encoder, otherwise we will get the UTF8
4413         encoder that by default emits the byte markers.
4414
4415 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
4416
4417         * Delegate.cs: look also for non-public methods until we have the
4418         security checks in place.
4419
4420 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
4421
4422         * MonoType.cs: consider also the full name in GetInterface.
4423
4424 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
4425
4426         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
4427         GetMethodImpl using the binder.
4428         * Type.cs: GetConstructorImpl/GetConstructor fixes.
4429
4430 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
4431         * Enum.cs: Get rid of warning CS0162.
4432
4433 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
4434
4435         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
4436         actual value instead of public.
4437
4438         * LocalDataStoreSlot.cs: Make constructor internal.
4439
4440         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
4441         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
4442         instead of public.
4443
4444 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
4445         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
4446                    properly.
4447
4448 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4449
4450         * DateTime.cs: fixed buglet.
4451
4452 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
4453
4454         * MonoType.cs: speedup access to common data.
4455
4456 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4457
4458         * Double.cs: implemented TryParse.
4459
4460         * Math.cs: PowImpl is now private.
4461
4462         * MissingFieldException.cs: implemented Message.
4463
4464         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
4465
4466         * _AppDomain.cs: Uncommented ToString.
4467
4468 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4469
4470         * Type.cs:
4471         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
4472
4473 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4474
4475         * ArgumentException.cs: use the field instead of the property for
4476         param_name.
4477
4478         * ArgumentOutOfRangeException.cs: modified Message.
4479
4480         * DateTime.cs: 
4481         (_DoParse): throw out of range exception for year. Removed check
4482         for month (it's done in the constructor).
4483
4484 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
4485
4486         * Environment.cs: Implemented OSVersion property.
4487
4488 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
4489
4490         * Exception.cs: set stack_trace to null
4491
4492 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
4493
4494         * AppDomain.cs: implemented ToString().
4495
4496 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4497
4498         * AppDomain.cs: securityInfo can be null in CreateDomain.
4499
4500 2002-08-19  Dick Porter  <dick@ximian.com>
4501
4502         * MonoType.cs: Add a space before the Assembly name in
4503         AssemblyQualifiedName (needed for resource files so the MS runtime
4504         can load types)
4505
4506 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4507
4508         * AppDomain.cs: parameter name when throwing ArgumentNullException.
4509
4510         * ArgumentException.cs: modified Message to do what MS does.
4511
4512         * ArgumentNullException.cs: don't use {0} in message.
4513
4514         * Exception.cs: use Message property in ToString ().
4515
4516 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
4517
4518         * WeakReference.cs: Changed the constructor and GetObjectData
4519         method needed for ISerializable implementation in order to be
4520         compatible with SOAP generated by MS.
4521
4522 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
4523
4524         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
4525
4526 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
4527
4528         * Exception.cs (ToString): changed the ouput format.
4529
4530 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
4531
4532         * MonoType.cs: moved get_method icall to this class, we can
4533         remove it as soon someone provides a full featured GetMethodImpl.
4534
4535         * Type.cs: use GetMethodImpl everywhere.
4536
4537         * Delegate.cs: new CreateDelegate implementations.
4538
4539 2002-08-06  Tim Coleman <tim@timcoleman.com>
4540         * MonoType.cs: 
4541                 Fix bug #28582.  Now checks parameters for properties
4542                 in GetPropertyImpl.
4543
4544 2002-08-04  Nick Drochak  <ndrochak@gol.com>
4545
4546         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
4547
4548 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4549
4550         * String.cs:
4551         (FormatSpecifier): allow white space between the comman and the width
4552         specifier.
4553
4554 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4555
4556         * Int32.cs:
4557         * Int64.cs:
4558         * UInt32.cs:
4559         * UInt64.cs: fixed bug #28050. May be a MS bug?
4560
4561 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
4562
4563         * MonoType.cs: fix IsArrayImpl.
4564
4565 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4566
4567         * String.cs: make ToLower (culture) and ToUpper (culture) use the
4568         default ToLower and ToUpper and don't throw NotImplemented.
4569
4570 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
4571
4572         * Type.cs: make GettTypeCode an icall. Test implementation of
4573         GetMember().
4574
4575 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4576
4577         * AppDomainSetup.cs: implemented LoaderOptimization.
4578
4579 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4580
4581         * Activator.cs: some more intermediate results checking in
4582         in CreateInstance and CreateInstanceFrom and use GetConstructor and
4583         Invoke only with Type [] until the other overloaded versions work.
4584
4585 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4586
4587         * Activator.cs: reformatted. Implemented CreateInstance* methods
4588         that return ObjectHandle.
4589
4590         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
4591
4592 2002-07-03  Nick Drochak  <ndrochak@gol.com>
4593
4594         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
4595         the divisor is not) and avoid the icall, which seems to have a bug.
4596
4597 2002-07-03  Nick Drochak  <ndrochak@gol.com>
4598
4599         * Double.cs (CompareTo): Correctly handle the case where the instance
4600         is NaN. Also return 0 if the values are equal.
4601
4602 2002/07/03  Nick Drochak <ndrochak@gol.com>
4603
4604         * MissingMethodException: Add missing Message property
4605         * MissingMemberException: Add missing Message property
4606
4607 2002-06-30  Nick Drochak  <ndrochak@gol.com>
4608
4609         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
4610         subtraction trick, it doesn't work when the values have a diference of
4611         less than one.
4612
4613         * Single.cs (CompareTo): same
4614
4615 2002-06-27  Martin Baulig  <martin@gnome.org>
4616
4617         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
4618         constructor argument.  [FIXME: The implicit conversion to an
4619         unsigned integer doesn't work with mcs.]
4620
4621 2002-06-26  Martin Baulig  <martin@gnome.org>
4622
4623         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
4624         not `S = System'.  This file now compiles with mcs.
4625
4626         * String.cs: Removed the already ifdef-outed __arglist Concat function
4627         to make it compile with mcs.
4628
4629 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4630
4631         * IntegerFormatter.cs:
4632         (FormatParse.FormatNumber): fixed custom format for negative numbers.
4633
4634 2002-06-21  Martin Baulig  <martin@gnome.org>
4635
4636         * Double.cs: Replace the private `enum State' with constants since this
4637         will avoid some bigger headaches in mcs.
4638
4639 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
4640
4641         * TimeSpan.cs: do not pollute the namespace with the
4642         System.Parser name.
4643
4644 2002-06-18  Nick Drochak  <ndrochak@gol.com>
4645
4646         * ArgumentException.cs: Use the message given in the constructor when
4647         accessing the Message property.  Thanks to Dietmar for the help with 
4648         "base".
4649
4650 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
4651
4652         * MonoType.cs: GetField is now a InternalCall
4653
4654 2002-06-13  Nick Drochak  <ndrochak@gol.com>
4655
4656         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
4657         sortable format(s), e.g. "2002-02-25"
4658
4659 2002/06/12  Nick Drochak <ndrochak@gol.com>
4660
4661         * Random.cs (Next): Fix math error.  Return a number within the range.
4662
4663 2002-06-12  Nick Drochak  <ndrochak@gol.com>
4664
4665         * String.cs (IndexOf): Return -1 if start index is equal to string
4666         length.
4667
4668 2002-06-10  Duncan Mak  <duncan@ximian.com>
4669
4670         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
4671         (ToType): Added null field in conversionTable to avoid
4672         IndexOutOfRangeException. Changed what exceptions we throw to match
4673         the spec.
4674         
4675 2002-06-11  Nick Drochak  <ndrochak@gol.com>
4676
4677         * Int64.cs (Parse): Added unique strings to the messages where we throw
4678         a FormatException. Needed these to debug, so just left them in since
4679         they might be useful later. Fixed Currency parsing where we weren't
4680         looking at CurrencyDecimalSeparator, etc.
4681
4682 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
4683
4684         * DateTime.cs: fixes to pass tests M0 to M6:
4685                 if yy pattern then year values >= 30 are in 20th century
4686                 rfc1123 pattern is always in GMT, therefor useutc must be false
4687         made GetNow() internal static so it can be called from TimeZone.
4688         * TimeZone.cs: removed dependency on year 2002 from initialization of 
4689         current timezone.
4690
4691 2002-06-09  Duncan Mak  <duncan@ximian.com>
4692
4693         * Convert.cs (ToType): Rearranged what Exceptions we throw to
4694         match MS behavior.
4695
4696 2002-06-08  Duncan Mak  <duncan@ximian.com>
4697
4698         * Decimal.cs: Added support for the IConvertible interface.
4699
4700 2002-06-08  Martin Baulig  <martin@gnome.org>
4701
4702         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
4703         doesn't necessarily need to be of the enum's underlying type.
4704
4705 2002/06/07  Nick Drochak <ndrochak@gol.com>
4706
4707         * String.cs: Add [Serializable] to class
4708         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
4709
4710 2002-06-04  Nick Drochak  <ndrochak@gol.com>
4711
4712         * Double.cs (Parse): Recognize the group separator string, but still we
4713         don't check the format for the proper number of digits between
4714         separators. Also throw OverflowException when we get Pos or Neg
4715         Infinity from runtime.
4716
4717 2002-06-03  Duncan Mak  <duncan@ximian.com>
4718
4719         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
4720
4721 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
4722
4723         * Type.cs: fixed GetTypeCode.
4724
4725 2002-06-02  Duncan Mak  <duncan@ximian.com>
4726
4727         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
4728         cast from an int so that we throw OverFlowException correctly.
4729         
4730         (ToInt64): Use a new 64bit version of ConvertToBase.
4731         
4732         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
4733         and Int32.MaxValue).
4734
4735         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
4736
4737 2002-06-02  Nick Drochak  <ndrochak@gol.com>
4738
4739         * Convert.cs (ToSByte): Check for special value.
4740         * Single.cs (Parse): 
4741         * UInt16.cs (Parse):
4742         * UInt32.cs (Parse): Throw OverflowException if negative
4743
4744 2002-06-02  Duncan Mak  <duncan@ximian.com>
4745
4746         * Convert.cs (DBNull): Point it to DBNull.Value.
4747         (IsDBNull): Instead of checking typecodes, just check to see if
4748         it's the same as the DBNull field.
4749
4750 2002-06-02  Nick Drochak  <ndrochak@gol.com>
4751
4752         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
4753
4754 2002-06-02  Duncan Mak  <duncan@ximian.com>
4755
4756         * Char.cs (Parse): Simplify the Exception handling.
4757
4758         * Convert.cs (ToDecimal): Remove call to Math.Round () when
4759         converting from a float.
4760
4761 2002-05-30  Martin Baulig  <martin@gnome.org>
4762
4763         * MonoType.cs (GetInterface): Implemented.
4764
4765 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
4766
4767         * Activator.cs: implemented CreateInstance ().
4768
4769 2002-05-22  Duncan Mak  <duncan@ximian.com>
4770
4771         * Convert.cs (ConvertToBase): Added new 64bit version.
4772         (BuildConvertedString64): New 64bit version of
4773         BuildConvertedString.
4774
4775         This fixes bug 25068.
4776
4777         (ConvertFromBase): Added additional test for checking if the
4778         digits are valid. Thanks to Miguel for coming up with this test.
4779
4780         This fixes bug 25071.
4781         
4782 2002-05-21  Duncan Mak  <duncan@ximian.com>
4783
4784         * Convert.cs (ToType): Rearranged to fit the new layout of
4785         conversionTable.
4786
4787         (conversionTable): Rearranged to fit the layout of the
4788         System.TypeCode enum.
4789
4790         This should fix bug 25075.
4791         
4792 2002-05-21  Duncan Mak  <duncan@ximian.com>
4793
4794         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
4795         mixed up the two code paths, one for converting to a specific base
4796         (this case), another from converting from a foreign base to base10
4797         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
4798
4799         * Convert.cs (ToByte)
4800         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
4801         that we won't confuse FormatException with OverflowException.
4802
4803 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
4804
4805         * Environment.cs: CommandLine missed spaces between arguments.
4806         Implemented StackTrace. Returning MachineName in UserDomainName
4807         instead of null.
4808         
4809 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
4810
4811         * MonoCustomAttrs.cs: handle inherit argument.
4812
4813 2002-05-21  Nick Drochak  <ndrochak@gol.com>
4814
4815         * Math.cs (Pow): Change icall method name and insert parameter
4816         checks in for infinities and NaN.
4817
4818 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
4819
4820         * Double.cs (Parse): Reimplement by cleaning up the string first,
4821         and then passing to strtof in the mono runtime.
4822
4823         * Single.cs (Parse): Use the Double implementation and cast to
4824         float. 
4825
4826 2002-05-21  Nick Drochak  <ndrochak@gol.com>
4827
4828         * Math.cs 
4829                 (Ceiling): Check for "special" values
4830                 (Floor): Check for "special" values
4831                 (Round): Fix off-by-one error on decimal shifting
4832
4833 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
4834
4835         * DateTime.cs: ToString () using "G" format specifier 
4836
4837 2002-05-19  Martin Baulig  <martin@gnome.org>
4838
4839         * Convert.cs (FromBase64CharArray): Do correct exception handling.
4840
4841 2002-05-19  Martin Baulig  <martin@gnome.org>
4842
4843         * Convert.cs (FromBase64CharArray): Convert the char array using
4844         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
4845         a byte array.
4846
4847 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
4848
4849         * MonoType.cs: Style changes.
4850
4851         * Type.cs: Style changes.
4852
4853 2002-05-16  Piers Haken <piersh@friksit.com
4854
4855         * UInt64.cs: fix declaration of IConvertible.To* overrides.
4856
4857 2002-05-16  Nick Drochak  <ndrochak@gol.com>
4858
4859         * BitConverter.cs (ToString): Add parameter check for invalid start 
4860         index.
4861
4862         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
4863         now that StreamWriter uses buffering
4864
4865 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
4866
4867         * Double.cs: Oops.  Also handle exponents without finding a dot.
4868
4869 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4870
4871         * ChangeLog: removed empty entry at the top of the file.
4872
4873         * Int32.cs: made static functions used by Parse internal.
4874
4875         * Int64.cs:
4876         * UInt32.cs:
4877         * UInt64.cs: removed static fucntions used by Parse and use the ones
4878         in Int32.cs
4879
4880 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
4881
4882         * IServiceProvider.cs: added using System
4883
4884 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
4885
4886         * Single.cs: copied ToString() and Parse() methods from 
4887         Double to Single and modified a tiny bit for Single.  
4888         There is still a FIXME for Double and Single about
4889         passing the format and provider info to the icall too.
4890
4891 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4892
4893         * Int32.cs:
4894         * Int64.cs:
4895         * UInt32.cs:
4896         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
4897         Don't use a delegate to test for valid digits.
4898
4899 2002-05-01  Duncan Mak  <duncan@ximian.com>
4900
4901         * Convert.cs: 
4902         * Math.cs: Added missing CLSCompliant attributes where necessary.
4903         
4904 2002-04-30  Duncan Mak  <duncan@ximian.com>
4905
4906         * ArgumentException.cs (Message): 
4907         * ArgumentOutOfRangeException.cs (Message): Added.
4908
4909 2002-04-30  Nick Drochak  <ndrochak@gol.com>
4910
4911         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
4912
4913 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
4914
4915         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
4916
4917 2002-04-28  Duncan Mak  <duncan@ximian.com>
4918
4919         * DivideByZeroException.cs: Added missing serialization constructor.
4920
4921         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
4922
4923 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4924
4925         * Math.cs: fix Floor () and Round (). Closes #23960.
4926
4927 2002-04-27  Nick Drochak  <ndrochak@gol.com>
4928
4929         * Array.cs (IList.Contains): Should throw a RankException if this is 
4930         called on a Rank > 1 array. Not in the docs, but this is what the 
4931         MS.NET does.
4932
4933 2002-04-26  Duncan Mak  <duncan@ximian.com>
4934
4935         * MissingMemberException.cs: Made the message variable 'protected'
4936         instead of 'private', so that we can see it in
4937         MissingMethodException and MissingFieldException.
4938
4939         * MissingFieldException.cs:
4940         * MissingMethodException.cs: Added missing (string, string)
4941         constructor, and also the Message property.
4942
4943 2002-04-26  Martin Baulig  <martin@gnome.org>
4944
4945         * Enum.cs: Implemented the IConvertible methods.
4946
4947 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4948
4949         * SByte.cs: little change in Parse (string) to avoid incorrect
4950         OverflowException thrown (reported by nickd).
4951
4952 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
4953
4954         * ValueType.cs: Add Serializable attribute.
4955
4956         * String.cs: ifdef-out out the __arglist Concat function until I
4957         add support for that to mcs.
4958
4959 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
4960
4961         * AppDomain.cs (GetValue): usage of the correct icall (bug)
4962
4963 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
4964
4965         * GC.cs: implement most of the methods as icalls.
4966
4967 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4968
4969         * DecimalFormatter.cs (ToString): return correct value when the
4970         decimal number is 0.
4971
4972 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
4973         
4974         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
4975         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
4976
4977 2002-04-24  Nick Drochak  <ndrochak@gol.com>
4978
4979         * Double.cs (Parse): Handle case where there are no digits before the 
4980         decimal point, such as ".1".
4981
4982 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4983
4984         * Int32.cs:
4985         * UInt32.cs:
4986         * Int64.cs:
4987         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
4988
4989 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
4990
4991         * String.cs (Split): fixed invalid split of count 0 and 1.
4992         
4993 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
4994         
4995         * String.cs (LastIndexOf): fixed argument checking.
4996         * String.cs (Equals): made internal for performace.
4997
4998 2002-04-23  Nick Drochak  <ndrochak@gol.com>
4999
5000         * String.cs (Join): check argument and throw exception if needed
5001
5002 2002-04-23  Nick Drochak  <ndrochak@gol.com>
5003
5004         * String.cs (StartsWith): check argument and throw exception if needed
5005
5006 2002-04-22  Nick Drochak  <ndrochak@gol.com>
5007
5008         * String.cs (IndexOfAny): check arguments and throw exceptions as
5009         neccessary.  ALso remove some debug WriteLines.
5010
5011 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
5012
5013         * String.cs: use internal constructors
5014         buf fix in Concat.
5015
5016 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
5017
5018         * MonoType.cs: make GetElementType its own icall.
5019
5020 2002-04-18  Nick Drochak <ndrochak@gol.com>
5021
5022         * String.cs: Modified file. Re-add methods needed by the unit tests.
5023
5024 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
5025
5026         * String.cs: some code speedups and restored GetTypeCode().
5027
5028 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
5029
5030         * String.cs: New implementation using internal calls.
5031         
5032 2002-04-16  Nick Drochak  <ndrochak@gol.com>
5033
5034         * DecimalFormatter.cs: Trim off excess null characters from the string
5035         that decimal2string gives back.
5036
5037 2002-04-16  Nick Drochak  <ndrochak@gol.com>
5038
5039         * String.cs (SubString): revert my change.  I can't reproduce the
5040         problem anymore.
5041
5042 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5043
5044         * Attribute.cs: added GetHashCode and Equals.
5045
5046 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5047
5048         * Enum.cs: little improvements to Format ().
5049
5050 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
5051
5052         * String.cs: internalcall GetHashCode().
5053         * Array.cS: optimize access to elements.
5054
5055 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
5056
5057         * String.cs: make IndexOfAny() use an internalcall.
5058
5059 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5060
5061         * Int32.cs:
5062         * UInt32.cs:
5063         * Int64.cs: 
5064         * UInt64.cs: fixed error when testing for validity of flags.
5065
5066 2002-04-11  Nick Drochak  <ndrochak@gol.com>
5067
5068         * Double.cs: Use an internal call for ToString(). This is just a simple
5069         implementation to get away from throwing a NotImplementedException.
5070
5071 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5072
5073         * Int32.cs:
5074         * UInt32.cs:
5075         * Int64.cs: 
5076         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
5077         lupus.
5078
5079         * Int32.cs:
5080         * Int64.cs: throw an OverFlowException when parsing a string 
5081         containing a dot followed by any non '0' number.
5082
5083 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5084
5085         * Byte.cs:
5086         * UInt16.cs:
5087         * UInt32.cs:
5088         * UInt64.cs: added complex Parse ().
5089
5090 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5091
5092         * SByte.cs:
5093         * Int16.cs:
5094         * Int32.cs:
5095         * Int64.cs: added complex Parse ().
5096
5097 2002-04-09  Nick Drochak  <ndrochak@gol.com>
5098
5099         * Array.cs (BinarySearch): Add checks on paramters before using them
5100         and throw exceptions as needed.
5101
5102         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
5103         "G" format to "F" if so.
5104
5105 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
5106
5107         * MonoCustomAttrs.cs: return arrays of type Attribute[]
5108         instead of object[].
5109
5110 2002/04/09  Nick Drochak <ndrochak@gol.com>
5111
5112         * String.cs (Substring): Copy only non-null characters to the new
5113         string.
5114
5115 2002-04-09  Nick Drochak  <ndrochak@gol.com>
5116
5117         * IntegerFormatter.cs: Don't use a format character to indicate a
5118         custom format was passed in. It was using 'z' to indicate a custom
5119         format, but really it should throw a format exception if the user
5120         tries to use "z" as the format string. Now it does.
5121
5122         * Activator.cs: New File.
5123
5124 2002-04-08  Nick Drochak  <ndrochak@gol.com>
5125
5126         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
5127         applied to an enum. Need to handle the different possible integer
5128         types of an enum somehow.  Can anyone say generics?
5129
5130 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
5131
5132         * Convert.cs: switched the To*(object) methods to use
5133         IConvertible directly instead of calling ChangeType
5134
5135 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
5136
5137         * ValueType.cs: make Equals() an internalcall.
5138
5139 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
5140
5141         * Type.cs: also look for nested types in FindMembers.
5142         * MonoType.cs: make GetNestedTypes() an internalcall.
5143
5144 2002-04-05  Nick Drochak  <ndrochak@gol.com>
5145
5146         * Enum.cs (Parse): Handle different underlying types.
5147
5148 2002/04/04 Nick Drochak <ndrochak@gol.com>
5149
5150         * Enum.cs (IsDefined): Throw exception when type of value to look for
5151         is not the correct one.  Attempt to have it work with string values
5152         too, but not sure if the unit tests are getting that far yet.
5153
5154 2002-04-04  Nick Drochak  <ndrochak@gol.com>
5155
5156         * Decimal.cs: Fix a couple of typos.
5157
5158 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
5159
5160         * Enum.cs: the values array is of the enum and not of the underlying
5161         type. Updates and some bug fixes.
5162         * MonoType.cs: make the internalcall return FullName instead of the
5163         assembly qualified name.
5164         * Type.cs: make ToString () simply return FullName.
5165
5166 2002-04-03  Nick Drochak  <ndrochak@gol.com>
5167
5168         * Type.cs (GetTypeCode): provide some of the implementation for this
5169         method.  It's still too simplistic to be considered complete.
5170
5171 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
5172
5173         * Object.cs: fixed FieldGetter/FieldSetter signature
5174
5175 2002-04-02  Nick Drochak  <ndrochak@gol.com>
5176
5177         * Environment.cs: add MonoTODO's on parts that should have it.
5178
5179 2002-04-01  Nick Drochak  <ndrochak@gol.com>
5180
5181         * Enum.cs: added reality checks (check parameters to most methods that
5182         need them).
5183
5184 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
5185
5186         * Object.cs: added FieldGetter/FieldSetter
5187
5188 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5189
5190         * IntegerFormatter.cs: fixed initialization error in static
5191         constructor.
5192
5193 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
5194
5195         * Delegate.cs: added new field to store a trampoline function
5196
5197 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5198
5199         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
5200         make custom format strings work (not fully functional yet).
5201
5202 2002/03/28  Nick Drochak <ndrochak@gol.com>
5203
5204         * IntegerFormatter.cs: Change class from internal to public.  Add
5205         necessary [CLSCompliant(false)] attributes.
5206
5207 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
5208         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
5209         (was a typo)
5210
5211 2002-03-28  Nick Drochak  <ndrochak@gol.com>
5212
5213         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
5214
5215 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
5216
5217         * Console.cs: Modified to get std handles from MonoIO.
5218         * Environment.cs: removed PAL dependencies.
5219
5220 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
5221
5222         * String.cs (System): Removed internal enumeration, because
5223         bootstrapping the corlib at this point does not support
5224         enumerations. 
5225
5226         * IntPtr.cs: Temporary work-around until I fix the assembly
5227         attributes bug.
5228
5229 2002-03-24  Martin Baulig  <martin@gnome.org>
5230
5231         * Enum.cs (GetValues): According to the docu this is sorted after
5232         values, not names.
5233
5234         * String.cs (System): Removed enumeration, because it is pretty
5235         hard to support enumerations in /nostdlib mode for the core types.
5236
5237 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
5238
5239         * Array.cs: move error handling in the catch block.
5240         * MulticastDelegate.cs: remove == and != operators that were
5241         removed with the delegate changes (when you add stuff, please do not
5242         remove existing functionality!).
5243         * Type.cs: if a property is not found in a type, search for it
5244         in the parent types, too.
5245
5246 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
5247         
5248         * Math.cs: changed to use icall instead of PAL.
5249
5250 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
5251
5252         * Double.cs: added check for NaN (Bug [22082])
5253
5254 2002-03-19  Nick Drochak  <ndrochak@gol.com>
5255
5256         * Enum.cs (Equals): check for null and throw if it is.
5257         * Enum.cs (Format): check for null parameters and throw if necessary.
5258         This method still needs more argument checking.
5259
5260 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
5261
5262         * Enum.cs (Equals): check if Enums are of the same type
5263
5264 2002-03-18  Nick Drochak  <ndrochak@gol.com>
5265
5266         * Double.cs: Explicitly handle comparisons in CompareTo() for
5267         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
5268
5269         * Enum.cs(CompareTo): Check types of values before trying to compare.
5270         Throw exceptions if types are invalid or don't match.
5271
5272 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
5273
5274         * Array.cs: Add some extra debugging information.
5275
5276 2002-03-15  Nick Drochak  <ndrochak@gol.com>
5277
5278         * Array.cs: Added IList and IEnumerable. 
5279
5280 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
5281
5282         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
5283         NonCLSCompliant. 
5284
5285 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
5286
5287         * Delegate.cs (Equals): also compare method_ptr 
5288         (GetHashCode): returm method_ptr as hash
5289
5290 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
5291         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
5292         such as 42.ToString("0000000"), as these are (currently) not implemented
5293         in System.IntegerFormatter. TimeSpan luckely can do with Standard
5294         Numeric Format Strings, such as 42.ToString("D7").
5295
5296 2002-03-12  Duncan Mak  <duncan@ximian.com>
5297
5298         * FieldAccessException.cs: 
5299         * MethodAccessException.cs: 
5300         * PlatformNotSupportedException.cs: Inherit from
5301         MemberAccessException, not SystemException.
5302
5303         * ObsoleteAttribute.cs: Made Message and IsError properties
5304         instead of fields.
5305
5306 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
5307
5308         * GC.cs: make SuppressFinalize() a nop.
5309         * Delegate.cs: fix == operator.
5310
5311 2002-03-13  Nick Drochak  <ndrochak@gol.com>
5312
5313         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
5314         runtime that goes with this patch.
5315
5316 2002-03-10  Martin Baulig  <martin@gnome.org>
5317
5318         * Int32.cs (Parse): Correctly parse negative numbers.
5319
5320 2002-03-08  Martin Baulig  <martin@gnome.org>
5321
5322         * String.cs (Split): Really fix it this time. Also adding several new
5323         testcase to the testsuite.       
5324
5325 2002-03-08  Martin Baulig  <martin@gnome.org>
5326
5327         * Array.cs (Copy): Optimized: removed duplicate null check, removed
5328         two duplicate GetLowerBound() calls and one duplicate IsValueType.
5329
5330 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
5331
5332         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
5333         * String.cs: use the dumb code for IndexOf(string): this is worth
5334         15-20 % speedup in mcs compile with mint.
5335
5336 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
5337
5338         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
5339
5340 2002-03-07  Martin Baulig  <martin@gnome.org>
5341
5342         * String.cs (Join): Throw an ArgumentNullException.
5343         (LastIndexOf (string,int,int)): This method does a backwards search,
5344         so startIndex points to the end of value, not to its beginning. Don't
5345         throw an exception if startIndex equals this.Length. Always return -1
5346         if startIndex is smaller than the length of value.
5347         (Replace (string,string)): Replace all occurences of oldValue.
5348         If newValue is null, all occurences of oldValue are to be removed.
5349         (Split (char[],int)): Return an empty array if maxCount is zero, throw
5350         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
5351         elements, not maxValue+1.
5352
5353 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
5354
5355         * MonoType.cs: make GetEvents() an internal call.
5356         * MulticastDelegate.cs: copy the passed in array.
5357
5358 2002-03-06  Martin Baulig  <martin@gnome.org>
5359
5360         * Array.cs (Copy): Use FastCopy when appropriate and do correct
5361         exception handling.
5362
5363 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
5364         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
5365         some of the failures found be new tests (see ChangeLog in 
5366         Test/System). Comments added to this method, based on
5367         the representation invariant of this class, that (try to) explain
5368         why it now should be correct.
5369
5370 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
5371
5372         * Int64.cs (Parse): bug fix for max. negative value. 
5373
5374 2002-03-07  Nick Drochak  <ndrochak@gol.com>
5375
5376         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
5377         I need to understand what the difference between the attribute and
5378         the interface is.
5379
5380 2002-03-06  Martin Baulig  <martin@gnome.org>
5381
5382         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
5383         an InvalidCastException if the widening conversion failed. See
5384         testcases #M94-#M96.
5385
5386         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
5387         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
5388         for this.
5389
5390         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
5391         (Copy): Actually allow copying multi-dimensional arrays.
5392
5393 2002-03-05  Duncan Mak  <duncan@ximian.com>
5394
5395         * Convert.cs:
5396         (DBNull) Added the missing field.
5397         (IsDBNull) Fixed typo.
5398         (ToByte (string, int)) Implemented.
5399         (ToString (byte, int)) Implemented.
5400         (ConvertToBase)
5401         (BuildConvertedString) internal functions used for converting values to
5402         a specific base.
5403
5404         * Int16.cs: 
5405         * Int32.cs:
5406         * Int64.cs:
5407         * Single.cs:
5408         * UInt16.cs: 
5409         * UInt32.cs: Implemented the IConvertible interface.    
5410
5411         * CharEnumerator.cs: Renamed to variables to be clearer and
5412         changed some of the tests to conform to the 1.0 spec.
5413
5414 2002-03-06  Martin Baulig  <martin@gnome.org>
5415
5416         * Array.cs (Copy): Calculate absolute array position here and use
5417         GetValueImpl() and SetValueImpl() with that position. We can now
5418         copy multi-dimensional arrays.
5419         (CopyTo): Small bug fix.
5420
5421 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
5422
5423         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
5424         Nick (See VersionTest.cs).
5425         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
5426         error comparing the current position (idx) against the length of the
5427         string iterated and it set idx to an unrecognized special value (-2)
5428
5429 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
5430
5431         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
5432         to do this dirty work, but someone has to do it (and I need it to pass
5433         the "200 sample tests compiled on linux" mark).
5434
5435 2002-03-06  Nick Drochak  <ndrochak@gol.com>
5436
5437         * Attribute.cs
5438         * DecimalFormatter.cs
5439         * Delegate.cs
5440         * Double.cs
5441         * GC.cs
5442         * Int16.cs
5443         * Int32.cs
5444         * MonoType.cs
5445         * RuntimeMethodHandle.cs
5446         * RuntimeTypeHandle.cs
5447         * String.cs
5448         * Type.cs:
5449                 Add [MonoTODO]'s to places where we currently throw a
5450                 NotImplementedException.
5451
5452 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
5453
5454         * Int16.cs (Parse): do not overflow on max negative value
5455
5456         * Int32.cs (Parse): do not overflow on max negative value
5457
5458 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
5459
5460         * Type.cs: fixed IsClass.
5461         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
5462         IsByRefImpl. Added GetInterfaces().
5463         * IServiceProvider.cs: compilation fix.
5464
5465 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
5466
5467         * Array.cs: allow copying an empty array to an empty array.
5468
5469 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
5470
5471         * String.cs: fixed LastIndexOf (string) to do a bit of argument
5472         checking.
5473
5474 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
5475         * Version.cs: many fixes to failures found by the newly created
5476         test cases for this class. Specifically, the CompareTo member
5477         returned wrong values due to the use of Int32.MaxValue as a special
5478         value indicating an "undefined" version component. Also implemented the
5479         missing operators (==, <, >, etc.), one missing constructor and
5480         and some exception throwing.
5481
5482 2002-03-04  Nick Drochak  <ndrochak@gol.com>
5483
5484         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
5485         * Attribute.cs: Add missing attributes: Serializable and
5486         AttributeUsage(AttributeTargets.All)
5487
5488 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
5489
5490         * MonoType.cs: implemented GetConstructors(), GetFields(),
5491         GetMethods(), GetProperties().
5492         * Object.cs: added debugging icall obj_address().
5493         * Type.cs: fixed the binding flags for some Get* methods.
5494         Implemented FindMembers() as calls to the specific GetMember
5495         methods.
5496
5497 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
5498         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
5499         should give an exception for n>=s.Length.
5500
5501 2002-03-01  Martin Baulig  <martin@gnome.org>
5502
5503         * Array.cs: More argument checking and bug fixing.
5504
5505 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
5506
5507         * BitConverter.cs: Indentation match
5508
5509         * AppDomain.cs: Added MonoTODOs to this too.
5510
5511         * Buffer.cs: Added MonoTODOs to this.
5512
5513 2002-03-01  Martin Baulig  <martin@gnome.org>
5514
5515         * Array.cs: Added argument checking to all methods where it was missing.
5516
5517 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
5518
5519         * BitConverter.cs: Fixed bugs in ToString methods
5520
5521 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
5522
5523         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
5524
5525 2002-03-01  Nick Drochak  <ndrochak@gol.com>
5526
5527         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
5528         ArgumentOutOfRangeException like the docs say.
5529
5530 2002-03-01  Martin Baulig  <martin@gnome.org>
5531
5532         * Enum.cs (CompareTo): Correctly override this method from IComparable.
5533
5534         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
5535
5536 2002-02-28  Martin Baulig  <martin@gnome.org>
5537
5538         * String.cs: This file now passes the testsuite on Linux :-)
5539         
5540         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
5541         make them private and provide C# wrappers which do proper argument checking.
5542
5543         * String.cs (Format): Correctly handle escaped brackets.
5544
5545         * String.cs (_CompareChar): New internal function which compares two chars.
5546         (_Compare): Provide an internal compare method which can do all sorts of
5547         comparision and call it from all the Compare() methods. Also fixed a lot of
5548         bugs here, this code now actually passes the testsuite.
5549
5550 2002-02-28  Duncan Mak  <duncan@ximian.com>
5551
5552         * Convert.cs: Added the missing methods. The new class status page
5553         kicks ass, it even found my typos! Woohoo!
5554         (ConvertFromBase): Moved the Exception throwing in here and
5555         removed the other occurances so it's all centralized now.
5556         (ISDBNull): Implemented.
5557         (GetTypeCode): Implemented.
5558
5559 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
5560         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
5561         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
5562         states that a lacking format should be interpreted as "N".  
5563         Also added [Serializable] attribute
5564         * TimeSpan.cs: some formatting and added the [Serializable] attribute
5565
5566 2002-02-26  Duncan Mak  <duncan@ximian.com>
5567
5568         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
5569
5570 2002-02-26  Martin Baulig  <martin@gnome.org>
5571
5572         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
5573         fields of the interncall GetTimeZoneData.
5574
5575         * DateTime.cs: Implemented Parse and fixed a few bugs.
5576
5577         * String.cs (TrimStart): Small fix.
5578
5579 2002-02-26  Martin Baulig  <martin@gnome.org>
5580
5581         * DateTime.cs: ParseExact is now fully functional.
5582
5583         * String.cs (TrimEnd): Small fix.
5584
5585 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
5586         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
5587         missing for about six months.
5588
5589 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
5590
5591         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
5592
5593 2002-02-26  Martin Baulig  <martin@gnome.org>
5594
5595         * DateTime.cs: Miguel already committed this, but there was still a
5596         ChangeLog entry for this missing ....
5597         We're now reusing functionality from TimeSpan, printing dates is
5598         fully implemented, currently working on parsing.
5599
5600         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
5601         runtime for this.
5602
5603 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
5604
5605         * MonoType.cs: disable constructor.
5606         * Object.cs: make GetType() an internalcall.
5607         * Type.cs: added correct bindingflags to GetMethods ().
5608         All such calls should be reviewed to use the correct flags.
5609
5610 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
5611
5612         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
5613         argument.
5614
5615 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
5616
5617         * Type.cs: implemented IsAssignableFrom.
5618
5619 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
5620         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
5621         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
5622         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
5623         The former is documented by Microsoft. The latter is how they
5624         actually implemented it in mscorlib:-)
5625
5626 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
5627
5628         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
5629         runtime.
5630         * MonoType.cs: Implemented custom attributes methods.
5631
5632
5633 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
5634         * Guid.cs: 
5635
5636 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
5637
5638         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
5639         runtime.
5640         * MonoType.cs: Implemented custom attributes methods.
5641
5642 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
5643
5644         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
5645
5646 2002-02-19  Duncan Mak  <duncan@ximian.com>
5647
5648         * Convert.cs: Finished up the missing methods in Convert. Added a
5649         new private method ConvertFromBase.
5650
5651 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
5652
5653         * String.cs: impl. IConvertible interface
5654
5655 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
5656         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
5657
5658 2002-02-18  Duncan Mak  <duncan@ximian.com>
5659
5660         * Convert.cs: Changed from using Type.GetType (string) to just
5661         typeof (). Probably will speed things up a bit?         
5662
5663 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
5664
5665         * Array.cs:         
5666         1. Fix for GetUpperBound to return correct values
5667         2. made some Properties virtual
5668         3. Adds IsFixedSize and IsReadOnly properties.
5669         4. changes CreateInstance(Type,int[],int[]) to throw Exception
5670         when third arg is null. InternalCall CreateInstance changed to  
5671         CreateInstanceImpl
5672         5. Fixed array.GetUpperBound at a couple of places
5673         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
5674         7. Added two FIXME's in BinarySearch functions.
5675
5676 2002-02-17  Duncan Mak  <duncan@ximian.com>
5677
5678         * TimeZone.cs:  Applied the rest of Ajay's patch for    
5679         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
5680         it works!
5681
5682 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
5683         * Guid.cs: added stub for Guid(string) ctor
5684
5685 2002-02-17  Duncan Mak  <duncan@ximian.com>
5686
5687         * Convert.cs: Near-complete implementation of Convert.cs
5688
5689         Added all the To* methods taking (object) and
5690         (object, IFormatProvider) as parameters.
5691
5692         Added [CLSCompliant (false)] attributes to methods dealing with
5693         unsigned types.
5694
5695         Added the missing section on converting to and from DateTime. Only
5696         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
5697
5698 2002-02-16  Duncan Mak  <duncan@ximian.com>
5699
5700         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
5701         make IsDaylightSavingTime (DateTime) call 
5702         IsDaylightSavingTime (DateTime, DaylightTime).  
5703         
5704         Added internal class CurrentTimeZone from Ajay. It needs more work
5705         to fill in the appropriate internal calls.
5706         
5707 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
5708
5709         * Type.cs: fix IsClass.
5710
5711 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
5712
5713         * String.cs: fix Trim().
5714
5715 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
5716
5717         * String.cs: fix more off by one errors.
5718
5719 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
5720
5721         * MonoType.cs: fix IsValueTypeImpl.
5722         * Type.cs: fix IsEnum. Implement Equals methods.
5723
5724 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
5725
5726         * Int32.cs: implement IConvertible interface.
5727         
5728 2002-02-12  Duncan Mak  <duncan@ximian.com>
5729
5730         * TimeZone.cs: Implemented and added to CVS.
5731
5732 2002-02-11  Duncan Mak  <duncan@ximian.com>
5733
5734         * Convert.cs: Implemented the ChangeType () methods.
5735
5736 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
5737
5738         * Array.cs: make Clone() an internal call.
5739
5740 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
5741         * Changed Guid.NewGuid so that it can use both System.Random and 
5742           System.Security.Cryptography.RandomNumberGenerator
5743
5744 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
5745         * First version of Guid.NewGuid
5746
5747 2002-02-08  Duncan Mak  <duncan@ximian.com>
5748
5749         * RuntimeArgumentHandle.cs: Added to CVS.
5750
5751 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
5752
5753         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
5754         UnhandledExceptionEventHandler.cs: added delegates.
5755
5756 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
5757
5758         * MarshalByRefObject.cs: add ToString () method
5759         (apparently needed by nunit).
5760         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
5761         by it in the runtime.
5762
5763 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
5764         
5765         * String.cs (Format): implemented
5766
5767 2002-02-07  Duncan Mak  <duncan@ximian.com>
5768         
5769         * DuplicateWaitObjectException:
5770         * InvalidCastException:
5771         * NotImplementedException:
5772         * NotSupportedException:
5773         * NullReferenceException:
5774         * OutOfMemoryException:
5775         * OverflowException:
5776         * RankException:
5777         * StackOverflowException.cs:
5778         * UnauthorizedAccessException: Added missing constructor used for serialization.
5779
5780 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
5781
5782         * String.cs (System.Compare): bug fix 
5783
5784 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
5785
5786         * Enum.cs (Parse,  GetHashCode): impl. 
5787
5788 2002-02-05  Duncan Mak  <duncan@ximian.com>
5789
5790         * DBNull.cs: This is my first crack at the DBNull class. I think I
5791         actually got most of the IConvertible methods right, but I haven't
5792         done the research to test whether or not this is the correct
5793         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
5794
5795         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
5796
5797 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
5798
5799         * Enum.cs: added more functionality (GetName, ToObject, Equals)
5800
5801 2002-01-31  Duncan Mak  <duncan@ximian.com>
5802
5803         * InvalidOperationException.cs:
5804         * NotFiniteNumberException.cs:
5805         * ObjectDisposedException.cs:
5806         * TypeInitializationException.cs: Added missing bits for serialization/
5807         
5808         * AppDomainUnloadedException.cs:
5809         * ApplicationException.cs:
5810         * ArgumentOutOfRangeException.cs:
5811         * ArithmeticException.cs:
5812         * ArrayTypeMismatchException:
5813         * BadImageFormatException.cs:
5814         * Exception.cs:
5815         * MissingMemberException.cs:
5816         * TypeLoadException.cs: Added missing bits for serialization.
5817
5818 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
5819         * Guid.cs: implemented everything but Guid.NewGuid
5820
5821 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
5822
5823         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
5824         to have it in this interface and it screws up the method vtable setup.
5825
5826 2002-01-28  Andrei Zmievski <andrei@php.net>
5827
5828         * Double.cs: implemented IConvertible interface.
5829
5830 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
5831
5832         * ArgumentException.cs: Implement serialization constructor.
5833         (GetObjectData): Implement serializer.
5834         
5835         * ArgumentNullException.cs: Implement serialization constructor.
5836
5837         * Exception.cs: Implement serialization constructor.
5838         (GetObjectData): Implement serializer.
5839
5840 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
5841
5842         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
5843
5844 2002-01-23  Duncan Mak  <duncan@ximian.com>
5845
5846         * EntryPointNotFoundException.cs:
5847         * FormatException: Added missing constructor and related bits.
5848
5849         * TypeLoadException: Added missing constructor, methods and properties.
5850
5851 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
5852
5853         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
5854         manually getting the enumerator.
5855
5856         (AppDomain.AppDomain): Prime the loaded assemblies with the
5857         assemblies loaded by the runtime in our behalf.
5858
5859         * AppDomainSetup.cs: Remove private keyword, that is the default.
5860         Add a new property DisallowPublisherPolicy.
5861
5862         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
5863
5864 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
5865
5866         * MonoType.cs, Type.cs: many updates, corrected implementation,
5867         completed stubs.
5868
5869 2002-01-20  Andrei Zmievski <andrei@php.net>
5870
5871         * Byte.cs:
5872         * Char.cs: implemented IConvertible interface.
5873
5874         * Boolean.cs: use our own ToString() method directly.
5875
5876 2002-01-20  Duncan Mak  <duncan@ximian.com>
5877
5878         * Files I commited recently: Fixed indentation style.
5879
5880 2002-01-20 Nick Drochak  <ndrochak@gol.com>
5881
5882         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
5883         and delegates too. Added the appropriate usage flags.
5884
5885 2002-01-18  Duncan Mak  <duncan@ximian.com>
5886
5887         * CharEnumerator.cs: Implemented.
5888         * String.cs (System): Fixed the GetEnumerator () method(s).
5889
5890         * ObsoleteAttribute.cs:
5891         * STAThreadAttribute.cs:
5892         * MTAThreadAttribute.cs:
5893         * ThreadStaticAttribute.cs:
5894         * LoaderOptimizationAttribute.cs:
5895         * PlatformNotSupportedException.cs:
5896         * LoaderOptimization.cs: Added to CVS.
5897
5898 2002-01-18  Duncan Mak  <duncan@ximian.com>
5899
5900         * AppDomainUnloadedException.cs:
5901         * MethodAccessException.cs:
5902         * ContextMarshalException.cs:
5903         * CannotUnloadAppDomainException.cs:
5904         * DllNotFoundException.cs:
5905         * EntryPointNotFoundException.cs:
5906         * FieldAccessException.cs:
5907         * TypeUnloadedException.cs:
5908         * MissingFieldException.cs: Added to CVS.
5909
5910         * ApplicationException.cs: 
5911         * MemberAccessException.cs:
5912         * MissingMemberException.cs
5913         * MissingMethodException.cs:
5914         * SystemException.cs: Added [Serializable] attribute.
5915
5916         * Exception.cs: Added [Serializable] attribute, made properties
5917         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
5918         spec.
5919
5920         * ContextStaticAttribute.cs: Added [Serializable] attribute and
5921         put in the missing constructor.
5922
5923         * Environment.cs: Commented out references to
5924         EnvironmentPermissionAttribute, because they're just stubbed out
5925         right now and has no implementation.
5926
5927 2002-01-16  Andrei Zmievski <andrei@php.net>
5928
5929         * Boolean.cs: implemented IConvertible interface
5930
5931 2002-01-15  Nick Drochak  <ndrochak@gol.com>
5932
5933         * ResolveEventArgs.cs: class should derive from EventArgs.
5934
5935 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
5936
5937         * String.cs (System): Use DefaultMemberName for the String class.
5938
5939 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
5940
5941         * String.cs: use IndexerName in index char accessor.
5942
5943 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
5944
5945         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
5946         * String.c: eliminate 64k+ method calls in search.
5947         * Type.cs: handle byref and array types in ToString ().
5948
5949 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
5950
5951         * Guid.cs: created first version
5952
5953 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
5954
5955         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
5956
5957 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
5958
5959         * MulticastDelegate.cs: add == and != operator stubs.
5960         * String.cs: check for null in == operator.
5961         * Type.cs: use a virtual method to get TypeAttributes.
5962
5963 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
5964         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
5965
5966 2002-01-09  Nick Drochak  <ndrochak@gol.com>
5967         
5968         * Environment.cs: Comment out Security attribute and put a MonoTODO
5969         there as a reminder.  We need mcs magic to handle security attributes in
5970         corlib.
5971
5972 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
5973         * Created IAppDomainSetup.cs
5974
5975 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
5976         * Created System._AppDomain interface in _AppDomain.cs
5977
5978 2002-01-06  Nick Drochak  <ndrochak@gol.com>
5979
5980         * ResolveEventArgs.cs: New File, completely implemented! ;)
5981
5982 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
5983
5984         * Enum.cs: dummy ToString impl.
5985         * String.cs: dummy format implementations to get compiler errors
5986         somewhat working.
5987         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
5988
5989 2002-01-05  Ravi Pratap  <ravi@ximian.com>
5990
5991         * TODOAttribute.cs : Augment some more; provide two constructors
5992         with support for a comment too.
5993
5994 2002-01-05  Nick Drochak  <ndrochak@gol.com>
5995
5996         * Uncommented those MonoTODO's now that Ravi's got
5997         the class in there
5998
5999 2001-01-04  Ravi Pratap  <ravi@ximian.com>
6000
6001         * TODOAttribute.cs : Actually add this time ;-)
6002
6003         Change name to MonoTODO.
6004
6005 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
6006
6007         * String.cs (Trim): Fixed a few logic bugs in the code that
6008         calculated how much to trim off the end of the string.
6009
6010 2001-01-04  Nick Drochak  <ndrochak@gol.com>
6011         
6012         * Commented out the [TODO] attributes for now.  We don't have the
6013         class written.  Also changed it to [MonoTODO]
6014
6015 2002-01-04  Ravi Pratap  <ravi@ximian.com>
6016
6017         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
6018         our class libraries that are incomplete.
6019
6020         * Array.cs : Apply attribute wherever we find a FIXME which says
6021         we need something to be implemented there.
6022
6023         * Int32.cs : Ditto.
6024
6025         * MulticastDelegate.cs : Ditto.
6026
6027         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
6028         RuntimeTypeHandle.cs : Ditto.
6029
6030         * String.cs : Ditto.
6031
6032         * Type.cs : Ditto.
6033
6034         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
6035
6036         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
6037         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
6038
6039         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
6040         Delegate.cs : Ditto.
6041
6042         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
6043         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
6044         
6045 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
6046
6047         * Delegate.cs: add Remove() stub.
6048         * Enum.cs: add ToObject().
6049         * Type.cs: add IsEnum property.
6050
6051 2002-01-03  Kristian Rietveld  <kris@gtk.org>
6052
6053         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
6054         DateTime and object.
6055
6056 2001-12-30  Nick Drochak  <ndrochak@gol.com>
6057
6058         * Byte.cs (Parse): Add comments to aid in testing.
6059
6060 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
6061
6062         * Char.cs (Parse): Implement.
6063
6064         * Byte.cs (Parse): Implement a fast parser.
6065         
6066         * SByte.cs (Parse): Implement a fast parser.
6067
6068         * UInt16.cs (Parse): Implement a fast parser.
6069         
6070         * Int16.cs (Parse): Implement a fast parser.
6071
6072         * UInt32.cs (Parse): Implement a fast parser.
6073
6074         * Int32.cs (Parse): Implement a fast parser.
6075
6076 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
6077
6078         * Array.cs: fix null ref in sort code.
6079         * UInt64.cs: add bare-bones parse.
6080
6081 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
6082         
6083         * Byte.cs: removed use of Regexes.
6084
6085 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
6086
6087         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
6088         IsDefined(), GetUnderlyingType().
6089         * String.cs: fix one instance of Compare().
6090         * Type.cs: implemented GetProperties(), GetProperty().
6091
6092 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
6093
6094         * Array.cs: implement CopyTo ().
6095         * Char.cs: implement ToString ().
6096         * Exception.cs: bugfix.
6097         * Int32.cs: bare-bones Parse ().
6098         * MonoType.cs: query the needed info with an internalcall.
6099         * String.cs: speedups, bugfixes, reduced copies.
6100         * Type.cs: added missing fields. Implemented many of the Is*
6101         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
6102         GetFields(), FindMembers(), ToString().
6103         
6104 2001-12-11  Dick Porter  <dick@ximian.com>
6105
6106         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
6107
6108         * Console.cs: Use handles rather than casting file descriptors
6109
6110 2001-12-08  Nick Drochak  <ndrochak@gol.com>
6111
6112         * Byte.cs (Parse): Start implementation. Parse(string) works, but
6113         now we need to handle other formats
6114
6115 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
6116
6117         * DateTime.cs: added an icall to GetNow()
6118
6119 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
6120
6121         * Double.cs: added the parse method from Bob Smith
6122
6123 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
6124
6125         * UInt64.cs: ditto.
6126
6127         * UInt32.cs: ditto.
6128
6129         * Int32.cs (Int32.CompareTo): Fix because we can not just
6130         substract the values.
6131
6132         Return possitive value if the object is null.
6133
6134         * Boolean.cs: (Boolean.CompareTo): ditto.
6135
6136         * Int16.cs (Int16.CompareTo): ditto.
6137
6138         * Byte.cs (Byte.CompareTo): ditto.
6139
6140         * SByte.cs (SByte.CompareTo): ditto.
6141
6142         * Char.cs (Char.CompareTo): ditto.
6143         
6144         * Decimal.cs (Decimal.CompareTo): ditto.
6145
6146         * Int64.cs (Int64.CompareTo): ditto.
6147
6148         * Single.cs: Ditto.
6149
6150         * UInt16.cs: Ditto.
6151
6152 2001-11-28  Nick Drochak <ndrochak@gol.com>
6153
6154         * Byte.cs: Throw NotImplementedException for Parse.
6155
6156 2001-11-27  Derek Holden  <dholden@draper.com>
6157
6158         * IntegerFormatter.cs: Formatting of type "Number" was not
6159         using NumberFormatInfo.NumberNegativePattern.
6160
6161 2001-11-26  Dick Porter  <dick@ximian.com>
6162
6163         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
6164         the finalise routine any more
6165
6166 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
6167
6168         * ApplicationException.cs: internationalize by adding calls to
6169         Locale.GetText ().  And throw NotImplementedExceptions on calls
6170         that we have to implement.
6171
6172         * Version.cs: Ditto.
6173
6174         * ValueType.cs: ditto.
6175
6176         * UnauthorizedAccessException.cs: ditto.
6177
6178         * UInt32.cs: ditto.
6179
6180         * UInt64.cs: ditto.
6181
6182         * UInt16.cs: ditto.
6183
6184         * TypeLoadException.cs: ditto
6185
6186         * TypeInitializationException.cs: ditto.
6187
6188         * Type.cs: ditto.
6189
6190         * TimeSpan.cs: ditto.
6191
6192         * SystemException.cs: ditto.
6193
6194         * String.cs: ditto.
6195
6196         * StackOverflowException.cs: ditto.x
6197
6198         * Single.cs: ditto.
6199
6200         * SByte.cs: ditto.
6201
6202         * RuntimeTypeHandle.cs: ditto.
6203
6204         * RuntimeMethodHandle.cs: ditto.
6205
6206         * RuntimeFieldHandle.cs: ditto.
6207
6208         * Random.cs: ditto.
6209
6210         * OutOfMemoryException.cs: ditto.
6211
6212         * OperatingSystem.cs: ditto.
6213
6214         * ObjectDisposedException.cs: ditto.
6215
6216         * NullReferenceException.cs: ditto.
6217
6218         * NotImplementedException.cs: ditto.
6219
6220         * NotFiniteNumberException.cs: ditto.o
6221
6222         * MulticastNotSupportedException.cs: ditto.
6223
6224         * MissingMethodException.cs: ditto.
6225
6226         * MemberAccessException.cs: ditto.
6227
6228         * Math.cs: ditto.
6229
6230         * InvalidCastException.cs: ditto.
6231
6232         * IntegerFormatter.cs: ditto.
6233
6234         * Int32.cs: ditto.
6235
6236         * Int16.cs: ditto.
6237
6238         * IndexOutOfRangeException.cs: ditto.
6239
6240         * Environment.cs: ditto
6241
6242         * Enum.cs: ditto.
6243
6244         * DuplicateWaitObjectException.cs: ditto.
6245
6246         * DivideByZeroException.cs: ditto.
6247
6248         * Delegate.cs: ditto
6249
6250         * DecimalFormatter.cs: ditto.
6251
6252         * Decimal.cs: ditto.
6253
6254         * DateTime.cs: ditto.
6255
6256         * Convert.cs: ditto.
6257
6258         * Char.cs: ditto.
6259
6260         * Byte.cs: ditto.
6261
6262         * Boolean.cs: ditto.
6263
6264         * ArrayTypeMismatchException.cs: ditto.
6265
6266         * ArithmeticException.cs: ditto.
6267
6268         * ArgumentOutOfRangeException.cs: ditto.
6269
6270         * ArgumentNullException.cs: ditto.
6271
6272         * Enum.cs: Make it derive from ValueType, add CompareTo method.
6273
6274         * Attribute.cs: Reformat.
6275
6276 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
6277
6278         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
6279         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
6280         exception if the value is null too.
6281
6282         * Char.cs (CompareTo): ditto.
6283
6284         * ApplicationException.cs: Added constructor that does serialization.
6285
6286         * ParamArrayAttribute.cs: Define attribute correctly.
6287
6288 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
6289
6290         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
6291         * Array.cs: fix Array.Copy.
6292         * AssemblyLoadEventArgs.cs: rename field.
6293         * CLSCompliantAttribute.cs: use correct name for the class.
6294         * Char.cs: fix IsLetter.
6295         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
6296         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
6297         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
6298         * Delegate.cs: renamed target field to m_target.
6299         * Enum.cs: added missing methods.
6300         * MonoType.cs: add a constructor and some needed properties.
6301         * Object.cs: implement GetType().
6302         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
6303         ending 0 char.
6304         * Type.cs: add missing methods/properties.
6305
6306 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
6307
6308         * AttributeUseage.cs: Should define AttributeUsageAttribute.
6309
6310         * CLSCompliant.cs: Marked with AttributeUsage attribute.
6311
6312         * Decimal.cs: Fixed CLSCompliant attributes.
6313
6314         * Type.cs: changed _impl to internal (needs to be accessable by
6315         subclasses).
6316
6317         (TypeHandle): Marked as abstract, implementation removed.
6318
6319         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
6320         GetMethod): Added stub implementations so NUnit would link against
6321         corlib
6322
6323 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
6324
6325         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
6326
6327 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
6328
6329         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
6330         attribute. 
6331
6332 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
6333
6334         * String.cs: fix a couple of bugs.
6335         * AppDomain.cs: use new AppBuilder constructor.
6336         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
6337         NotImplementedException.cs, ObjectDisposedException.cs,
6338         UnauthorizedAccessException.cs: add implementation.
6339         * OverflowException.cs: fix class name.
6340
6341 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
6342
6343         * String.cs: Don't use a terminating nil char for our internal
6344         array.
6345
6346 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
6347
6348         * Delegate.cs (Delegate.CombineImpl): Implement.
6349         (Delegate.Combine): Implement.
6350
6351         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
6352
6353         (MulticastDelegate.CombineImpl): This was not as trivial as I
6354         thought. 
6355
6356         * ContextStaticAttribute.cs: Added AttributeUsage to
6357         ContextStaticAttribute. 
6358
6359         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
6360
6361 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
6362
6363         * added Decimal.cs * added DecimalFormatter.cs (internal class
6364         used from System.Decimal)
6365
6366 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
6367
6368         * Convert.cs: Added methods for Base64 transforming just used the
6369           existing System.Security.Cryptography.ToBase64Transform, should
6370           be changed to use a stand-alone class, e.g. Base64Encoder
6371           
6372 2001-10-10  Derek Holden  <dholden@draper.com>
6373
6374         * IntegerFormatter.cs: Added. Implements ToString for all the
6375         integer data types for all the format types.
6376
6377         * Byte.cs: Using IntegerFormatter for ToString's.
6378
6379         * SByte.cs: Using IntegerFormatter for ToString's.
6380
6381         * Int16.cs: Using IntegerFormatter for ToString's.
6382
6383         * Int32.cs: Using IntegerFormatter for ToString's.
6384
6385         * Int64.cs: Using IntegerFormatter for ToString's.
6386
6387         * UInt16.cs: Using IntegerFormatter for ToString's.
6388
6389         * UInt32.cs: Using IntegerFormatter for ToString's.
6390
6391         * UInt64.cs: Using IntegerFormatter for ToString's.
6392
6393 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
6394
6395         * Exception.cs: Implement bits of serialization.
6396
6397         * RuntimeFieldHandle.cs: Implement Serialization features.
6398
6399         * Type.cs: Implement TypeHandle property.
6400
6401 2001-09-28  Dick Porter  <dick@ximian.com>
6402
6403         * LocalDataStoreSlot.cs: Implemented
6404
6405 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
6406
6407         * String.cs: fix off-by-one error in Trim().
6408
6409 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
6410
6411         * Type.cs: added GetType () method.
6412
6413 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
6414
6415         * MissingMethodException.cs, MissingMemberException.cs,
6416         MemberAccessException.cs: added.
6417
6418 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
6419
6420         * String.cs: don't access the string array out of bounds in
6421         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
6422
6423 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
6424
6425         * String.cs: make Intern and IsIntern internalcalls.
6426
6427 2001-09-13  Dick Porter  <dick@ximian.com>
6428
6429         * Type.cs: Added a stub for the IsValueType property.
6430
6431         * SystemException.cs (System): Added the other constructor, so
6432         that System.Threading exceptions can inherit it.
6433
6434 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
6435
6436         * String.cs (TrimStart): Don't keep looping through the trimchars
6437         once we've found a match.
6438         (TrimEnd): Same here.
6439         (Trim): And finally here.
6440
6441 2001-09-07  Ravi Pratap  <ravi@ximian.com>
6442
6443         * Char.cs (IsLetterOrDigit): Implement.
6444         (IsLower): Implement, but we need to be Unicode aware.
6445         (IsNumber): Implement.
6446         (IsPunctuation): Implement.
6447         (IsWhiteSpace): Implement.
6448         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
6449         (ToLower): Same here.
6450
6451 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
6452
6453         * Object.cs: Shortcut, if (a == b) then return true.
6454
6455 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
6456
6457         * Delegate.cs: we need a pointer to the method thunk in
6458         the delegate object.
6459
6460 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
6461
6462         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
6463
6464 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
6465
6466         * String.cs (System): Don't mix uint and int.
6467
6468 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
6469
6470         * String.cs (BoyerMoore): Modified to not use pointers and to instead
6471         use indexes.
6472         (IndexOf): Use BoyerMoore.
6473
6474 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
6475
6476         * All over: Use the autogenerated enumerations from the ECMA
6477         documentation that Sergey wrote.
6478         
6479         * PlatformID.cs: Add Unix definition.
6480
6481         * OperatingSystem.cs: Use Unix instead of Linux here.
6482
6483         * MarshalByRefObject.cs: Mark class as [Serializable].
6484
6485 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
6486
6487         * Console.cs: impl. (write only)
6488         implemented the stdin stuff
6489
6490         * Int32.cs: impl. real op_Equal
6491
6492 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
6493
6494         * (common.src): Removed IAsyncResult as it is not on CVS yet.
6495
6496         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
6497         as it breaks the build.
6498
6499 2001-08-23  Michael Lambert <michaellambert@email.com>
6500
6501         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
6502         added CLSCompliant attribute
6503
6504         * IAsyncResult.cs: Added
6505
6506         * common.src: Added IAsyncResult.cs
6507
6508 2001-08-23  Michael Lambert <michaellambert@email.com>
6509
6510         * UIntPtr.cs: Added
6511
6512         * common.src: Added UIntPtr.cs
6513
6514 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
6515
6516         * Attribute.cs: uncomment some code to make it compile again
6517
6518         * mono.src: removed duplicated Attribute.cs
6519
6520 2001-08-16  Nick Drochak <ndrochak@gol.com>
6521
6522         * Attribute.cs: implemented all methods except GetHashCode()
6523
6524         * common.src: added Attribute.cs so it would compile in
6525
6526 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
6527
6528         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
6529         marked it as InternalCall
6530         
6531         * common.src: removed UriFormatException.cs because the file is
6532         not there.
6533
6534         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
6535         * Char.cs: replaced byte with char
6536
6537         * Array.cs: make it work with the mono interpreter
6538
6539 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
6540
6541         * Version.cs: Make the class sealed
6542
6543 2001-08-08  Bob Smith  <bob@thestuff.net>
6544
6545         * Random.cs: Many compile fixes.
6546         * Random.cs: I read a bad spec. Class updated to match real spec.
6547
6548 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
6549
6550         * IntPtr.cs: Added and Completed implementation.
6551
6552         * Uri.cs: Add a note.
6553
6554 2001-08-06  Bob Smith  <bob@thestuff.net>
6555
6556         * Random.cs: Compile fix. Needs more testing.
6557
6558 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
6559
6560         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
6561         into account IPv6 addresses, url encoding needs to be implemented, and 
6562         various minor methods need to be written, but this is a decent start.
6563
6564 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
6565
6566         * common.src: added Object.cs
6567
6568         * mono.src: added ValueType.cs
6569
6570 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
6571
6572         * Math.cs: replaced libc with libm
6573
6574 2001-08-02  Bob Smith  <bob@thestuff.net>
6575
6576         * Random.cs: Implemented. Needs testing.
6577
6578 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
6579
6580         * IServiceProvider.cs, EventHandler.cs: New files.
6581
6582 2001-08-02  Marcel Narings  <marcel@narings.nl>
6583         
6584         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
6585         Added exceptions. Added IConvertible. Still needs some platform 
6586         dependend stuff, the Parse and ToString members
6587
6588 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
6589
6590         * Type.cs (GetTypeFromHandle): added placeholder 
6591
6592 2001-07-24  Derek Holden  <dholden@draper.com>
6593
6594         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
6595         which is really an IConvertible defined method.
6596
6597         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
6598         behavior, still need to do the main Parse and ToString.
6599
6600         * Char.cs: Added a bunch of missing ECMA methods. Commented a
6601         specification discrepency. Still didn't any unicode stuff, though
6602         every IsFoo(char c) method has an IsFoo(string, index)
6603         counterpart, added wrappers for those.
6604         
6605         * Convert.cs: Fixed NaN/Inf checking and double/float
6606         rounding. Added ToType for IConvertible classes
6607
6608         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
6609         IsNaN methods. Changed Inf/NaN internals.
6610
6611         * IConvertible.cs: Added comments for using
6612         Convert.ToType. Changed return values to draft base values.
6613
6614         * Int16.cs: Added a missing Parse statement. Put in behavior for
6615         overloaded ToString and Parse methods.
6616
6617         * Int32.cs: Added a missing Parse statement. Put in behavior for
6618         overloaded ToString and Parse methods.
6619
6620         * Int64.cs: Added a missing Parse statement. Put in behavior for
6621         overloaded ToString and Parse methods.
6622         
6623         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
6624         methods. Changed Inf/NaN internals.
6625
6626         * SByte.cs: Added a missing Parse method. Put in Parse and
6627         ToString behavior, still need to do the main Parse and ToString.
6628
6629         * UInt16.cs: Added a missing Parse statement. Put in behavior for
6630         overloaded ToString and Parse methods.
6631
6632         * UInt32.cs: Added a missing Parse statement. Put in behavior for
6633         overloaded ToString and Parse methods.
6634
6635         * UInt64.cs: Added a missing Parse statement. Put in behavior for
6636         overloaded ToString and Parse methods.
6637         
6638 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
6639
6640         * MulticastDelegate.cs: New File.
6641
6642         * Delegate.cs: New file.
6643
6644         * Enum.cs: New file.
6645
6646         * Attribute.cs: New file.
6647
6648         * Type.cs: New file.
6649
6650         * ParamArrayAttribute.cs: New file.
6651
6652         * RuntimeTypeHandle.cs: New file.
6653
6654         * MulticastDelegate.cs: Added.
6655
6656         * DateTime.cs: Added
6657
6658         * Delegate.cs: Added
6659
6660 2001-07-18  Michael Lambert <michaellambert@email.com>
6661
6662         * AttributeTargets.cs: Add.
6663
6664 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
6665
6666         * Char.cs: Made ToUpper and ToLower public methods.
6667
6668         * String.cs: Lots and lots of compile fixes - just need to write
6669         DateTime.cs and this should build completely now.
6670
6671 2001-07-19  Bob Smith (bob@thestuff.net)
6672
6673         * Math.cs: Implemented. 
6674
6675 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
6676
6677         * String.cs: Removed tolower and toupper.
6678
6679         * Char.cs: Moved ToLower and ToUpper from string to here. 
6680
6681         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
6682         instead of comparing the value to Nan.
6683
6684 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
6685
6686         * TimeSpan.cs: New implementation.
6687
6688 2001-07-18  Scott Sanders <scott@stonecobra.com>
6689
6690          * UriFormatExcpetion.cs: Add - 85% complete
6691
6692 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
6693
6694         * String.cs (IndexOf): Slight optimization that allows skipping
6695         over a few chars here and there. This isn't as good as using my
6696         Boyer-Moore implementation, however, Boyer-Moore is only really
6697         good for long strings (I plan on making the code decide which
6698         string search algorithm it should use on-the-fly at some point).
6699         (LastIndexOf): Fix to work correctly.
6700         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
6701
6702 2001-07-16  Michael Lambert <michaellambert@email.com>
6703
6704         * EventArgs.cs: Add.
6705         
6706 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
6707
6708         * Version.cs: Remove my buggy comment.
6709
6710 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
6711
6712         * String.cs: Spelling error of IComparable, object's
6713         MemberwiseClone cannot be overridden.  Made indexer valid for now,
6714         but not sure what to do about this in the long run.  Seems to be a
6715         couple bugs in csc.exe having to do with multiple pointer defs in
6716         the same statement, and returning subclasses of a class in the
6717         return type of an interface function implementation.  Also moved
6718         operators inside of class definition.
6719
6720 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
6721
6722         * String.cs: A tom of compile fixes, although we still don't compile.
6723
6724         * IConvertible.cs: The To*Int64() methods return *Int64's, not
6725         *Int32's. Also, it's ToDateTime() not ToDateType().
6726
6727 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
6728
6729         * String.cs: Apparently I needed to at least write stubs for the
6730         IConvertible interfaces. *sigh*
6731
6732 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
6733
6734         * String.cs: Many logic/other fixes and better usage of the
6735         features of c#
6736         (tolower): New convenience method to help condense code.
6737         (toupper): Another new helper method.
6738         (Compare): Use the new helper methods.
6739         (ToLower): use tolower().
6740         (ToUpper): use toupper().
6741         (LastIndexOfAny): Implemented.
6742         (BoyerMoore): New private helper method that implements a modified
6743         version of the Boyer-Moore search algorithm. Noothing uses it yet
6744         as I'm not 100% sure it even works properly with unicode strings
6745         not to mention it uses a huge lookup-table :-)
6746         (Split): Implemented.
6747
6748 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
6749
6750         * TODO: Added things that need to be finished in System.String
6751
6752         * String.cs: New source file implementing the System.String class
6753
6754 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
6755
6756         * TypeCode.cs: UInt64 was UInt63.
6757
6758         * Object.cs: Fixed a numer of compiler errors.
6759
6760         * Array.cs: Fixed some compiler errors.
6761
6762         * IComparable.cs: Fixed some compiler errors.
6763
6764         * ICloneable.cs: Fixed some compiler errors.
6765
6766         * IConvertible.cs: Fixed some compiler errors.
6767
6768         * IFormattable.cs: Fixed a compiler error.
6769
6770         * IFormatProvider.cs: Fixed a compiler error.
6771
6772         * IDisposable.cs: Fixed a compiler error.
6773
6774         * IFormatProvider.cs: Added public accesability type to
6775         IFormatProvider.
6776
6777         * Exception.cs: Added a using statement to remove compile time
6778         error.
6779
6780         * ApplicationException.cs: Removed a ; that was causing a compiler
6781         error.
6782
6783         * Int16.cs: Fixed some compiler errors.
6784
6785         * Int32.cs: Fixed some compiler errors.
6786
6787         * Int64.cs: Fixed some compiler errors.
6788
6789         * SystemException.cs: Fixed a compiler error.
6790
6791         * UInt16.cs: Fixed some compiler errors.
6792
6793         * UInt32.cs: Fixed some compiler errors.
6794
6795         * UInt64.cs: Fixed some compiler errors.
6796
6797         * Void.cs: Fixed a compiler error.      
6798
6799 2001-07-12  Joe Shaw  <joe@ximian.com>
6800
6801         * Array.cs: Fix backwards parameters to Array.SetValue()
6802         throughout.
6803         (BinarySearch): Fix backward logic surrounding whether to call
6804         value.CompareTo or comparer.Compare.
6805         (LastIndexOf): Stop being stupid. I am so not used to strongly
6806         bounded arrays...
6807         (Sort): Implement a quicksort.
6808
6809 2001-07-11  Joe Shaw  <joe@ximian.com>
6810
6811         * Array.cs: Change all instances of trying to access an array with
6812         the index operator to calls to GetValue and SetValue, and add
6813         InternalGetValue and InternalSetValue which are internal calls
6814         into the runtime. Ew.
6815
6816 2001-07-10  Joe Shaw  <joe@ximian.com>
6817
6818         * Array.cs: Implemented everything but Sort().
6819
6820 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
6821
6822         * Object.cs (Object::Equals): Object variable name is `o'.
6823
6824 2001-07-06  Joe Shaw  <joe@ximian.com>
6825
6826         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
6827         Implement the IComparable and IFormattable interfaces. Fix a typo
6828         (publig -> public)
6829
6830         * ApplicationException.cs, ArgumentException.cs,
6831         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
6832         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
6833         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
6834         ExecutionEngineException.cs, FormatException.cs,
6835         IndexOutOfRangeException.cs, InvalidCastException.cs,
6836         InvalidOperationException.cs, InvalidProgramException.cs,
6837         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
6838         NotSupportedException.cs, NullReferenceException.cs,
6839         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
6840         StackOverflowException.cs, SystemException.cs,
6841         TypeInitializationException.cs: Added all of the exceptions
6842         specified by the language spec. Mmmm... bloat.
6843
6844 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
6845
6846         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
6847         do a generic routine all of these guys use.
6848
6849         * Int16.cs: identified missing methods.
6850
6851         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
6852
6853 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
6854
6855         * TypeCode.cs: Implement
6856
6857         * Void.cs: Implement.
6858
6859         * TODO: Add file to keep track of pending tasks.
6860
6861         * Object.cs, ValueType.cs: Implement.