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