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