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