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