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