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