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