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