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