2002-06-02 Duncan Mak <duncan@ximian.com>
[mono.git] / mcs / class / corlib / System / ChangeLog
1 2002-06-02  Duncan Mak  <duncan@ximian.com>
2
3         * Char.cs (Parse): Simplify the Exception handling.
4
5         * Convert.cs (ToDecimal): Remove call to Math.Round () when
6         converting from a float.
7
8 2002-05-30  Martin Baulig  <martin@gnome.org>
9
10         * MonoType.cs (GetInterface): Implemented.
11
12 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
13
14         * Activator.cs: implemented CreateInstance ().
15
16 2002-05-22  Duncan Mak  <duncan@ximian.com>
17
18         * Convert.cs (ConvertToBase): Added new 64bit version.
19         (BuildConvertedString64): New 64bit version of
20         BuildConvertedString.
21
22         This fixes bug 25068.
23
24         (ConvertFromBase): Added additional test for checking if the
25         digits are valid. Thanks to Miguel for coming up with this test.
26
27         This fixes bug 25071.
28         
29 2002-05-21  Duncan Mak  <duncan@ximian.com>
30
31         * Convert.cs (ToType): Rearranged to fit the new layout of
32         conversionTable.
33
34         (conversionTable): Rearranged to fit the layout of the
35         System.TypeCode enum.
36
37         This should fix bug 25075.
38         
39 2002-05-21  Duncan Mak  <duncan@ximian.com>
40
41         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
42         mixed up the two code paths, one for converting to a specific base
43         (this case), another from converting from a foreign base to base10
44         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
45
46         * Convert.cs (ToByte)
47         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
48         that we won't confuse FormatException with OverflowException.
49
50 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
51
52         * Environment.cs: CommandLine missed spaces between arguments.
53         Implemented StackTrace. Returning MachineName in UserDomainName\r
54         instead of null.\r
55         \r
56 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
57
58         * MonoCustomAttrs.cs: handle inherit argument.
59
60 2002-05-21  Nick Drochak  <ndrochak@gol.com>
61
62         * Math.cs (Pow): Change icall method name and insert parameter
63         checks in for infinities and NaN.
64
65 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
66
67         * Double.cs (Parse): Reimplement by cleaning up the string first,
68         and then passing to strtof in the mono runtime.
69
70         * Single.cs (Parse): Use the Double implementation and cast to
71         float. 
72
73 2002-05-21  Nick Drochak  <ndrochak@gol.com>
74
75         * Math.cs 
76                 (Ceiling): Check for "special" values
77                 (Floor): Check for "special" values
78                 (Round): Fix off-by-one error on decimal shifting
79
80 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>\r
81 \r
82         * DateTime.cs: ToString () using "G" format specifier \r
83 \r
84 2002-05-19  Martin Baulig  <martin@gnome.org>
85
86         * Convert.cs (FromBase64CharArray): Do correct exception handling.
87
88 2002-05-19  Martin Baulig  <martin@gnome.org>
89
90         * Convert.cs (FromBase64CharArray): Convert the char array using
91         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
92         a byte array.
93
94 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
95
96         * MonoType.cs: Style changes.
97
98         * Type.cs: Style changes.
99
100 2002-05-16  Piers Haken <piersh@friksit.com
101
102         * UInt64.cs: fix declaration of IConvertible.To* overrides.
103
104 2002-05-16  Nick Drochak  <ndrochak@gol.com>
105
106         * BitConverter.cs (ToString): Add parameter check for invalid start 
107         index.
108
109         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
110         now that StreamWriter uses buffering
111
112 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
113
114         * Double.cs: Oops.  Also handle exponents without finding a dot.
115
116 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
117
118         * ChangeLog: removed empty entry at the top of the file.
119
120         * Int32.cs: made static functions used by Parse internal.
121
122         * Int64.cs:
123         * UInt32.cs:
124         * UInt64.cs: removed static fucntions used by Parse and use the ones
125         in Int32.cs
126
127 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
128
129         * IServiceProvider.cs: added using System
130
131 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
132
133         * Single.cs: copied ToString() and Parse() methods from 
134         Double to Single and modified a tiny bit for Single.  
135         There is still a FIXME for Double and Single about
136         passing the format and provider info to the icall too.\r
137
138 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
139
140         * Int32.cs:
141         * Int64.cs:
142         * UInt32.cs:
143         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
144         Don't use a delegate to test for valid digits.
145
146 2002-05-01  Duncan Mak  <duncan@ximian.com>
147
148         * Convert.cs: 
149         * Math.cs: Added missing CLSCompliant attributes where necessary.
150         
151 2002-04-30  Duncan Mak  <duncan@ximian.com>
152
153         * ArgumentException.cs (Message): 
154         * ArgumentOutOfRangeException.cs (Message): Added.
155
156 2002-04-30  Nick Drochak  <ndrochak@gol.com>
157
158         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
159
160 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
161
162         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
163
164 2002-04-28  Duncan Mak  <duncan@ximian.com>
165
166         * DivideByZeroException.cs: Added missing serialization constructor.
167
168         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
169
170 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
171
172         * Math.cs: fix Floor () and Round (). Closes #23960.
173
174 2002-04-27  Nick Drochak  <ndrochak@gol.com>
175
176         * Array.cs (IList.Contains): Should throw a RankException if this is 
177         called on a Rank > 1 array. Not in the docs, but this is what the 
178         MS.NET does.
179
180 2002-04-26  Duncan Mak  <duncan@ximian.com>
181
182         * MissingMemberException.cs: Made the message variable 'protected'
183         instead of 'private', so that we can see it in
184         MissingMethodException and MissingFieldException.
185
186         * MissingFieldException.cs:
187         * MissingMethodException.cs: Added missing (string, string)
188         constructor, and also the Message property.
189
190 2002-04-26  Martin Baulig  <martin@gnome.org>
191
192         * Enum.cs: Implemented the IConvertible methods.
193
194 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
195
196         * SByte.cs: little change in Parse (string) to avoid incorrect
197         OverflowException thrown (reported by nickd).
198
199 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
200
201         * ValueType.cs: Add Serializable attribute.
202
203         * String.cs: ifdef-out out the __arglist Concat function until I
204         add support for that to mcs.
205
206 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
207
208         * AppDomain.cs (GetValue): usage of the correct icall (bug)
209
210 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
211
212         * GC.cs: implement most of the methods as icalls.
213
214 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
215
216         * DecimalFormatter.cs (ToString): return correct value when the
217         decimal number is 0.
218
219 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
220         
221         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
222         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
223
224 2002-04-24  Nick Drochak  <ndrochak@gol.com>
225
226         * Double.cs (Parse): Handle case where there are no digits before the 
227         decimal point, such as ".1".
228
229 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
230
231         * Int32.cs:
232         * UInt32.cs:
233         * Int64.cs:
234         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
235
236 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
237
238         * String.cs (Split): fixed invalid split of count 0 and 1.
239         
240 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
241         
242         * String.cs (LastIndexOf): fixed argument checking.
243         * String.cs (Equals): made internal for performace.
244
245 2002-04-23  Nick Drochak  <ndrochak@gol.com>
246
247         * String.cs (Join): check argument and throw exception if needed
248
249 2002-04-23  Nick Drochak  <ndrochak@gol.com>
250
251         * String.cs (StartsWith): check argument and throw exception if needed
252
253 2002-04-22  Nick Drochak  <ndrochak@gol.com>
254
255         * String.cs (IndexOfAny): check arguments and throw exceptions as
256         neccessary.  ALso remove some debug WriteLines.
257
258 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
259
260         * String.cs: use internal constructors
261         buf fix in Concat.
262
263 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
264
265         * MonoType.cs: make GetElementType its own icall.
266
267 2002-04-18  Nick Drochak <ndrochak@gol.com>
268
269         * String.cs: Modified file. Re-add methods needed by the unit tests.
270
271 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
272
273         * String.cs: some code speedups and restored GetTypeCode().
274
275 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
276
277         * String.cs: New implementation using internal calls.
278         
279 2002-04-16  Nick Drochak  <ndrochak@gol.com>
280
281         * DecimalFormatter.cs: Trim off excess null characters from the string
282         that decimal2string gives back.
283
284 2002-04-16  Nick Drochak  <ndrochak@gol.com>
285
286         * String.cs (SubString): revert my change.  I can't reproduce the
287         problem anymore.
288
289 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
290
291         * Attribute.cs: added GetHashCode and Equals.
292
293 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
294
295         * Enum.cs: little improvements to Format ().
296
297 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
298
299         * String.cs: internalcall GetHashCode().
300         * Array.cS: optimize access to elements.
301
302 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
303
304         * String.cs: make IndexOfAny() use an internalcall.
305
306 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
307
308         * Int32.cs:
309         * UInt32.cs:
310         * Int64.cs: 
311         * UInt64.cs: fixed error when testing for validity of flags.
312
313 2002-04-11  Nick Drochak  <ndrochak@gol.com>
314
315         * Double.cs: Use an internal call for ToString(). This is just a simple
316         implementation to get away from throwing a NotImplementedException.
317
318 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
319
320         * Int32.cs:
321         * UInt32.cs:
322         * Int64.cs: 
323         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
324         lupus.
325
326         * Int32.cs:
327         * Int64.cs: throw an OverFlowException when parsing a string 
328         containing a dot followed by any non '0' number.
329
330 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
331
332         * Byte.cs:
333         * UInt16.cs:
334         * UInt32.cs:
335         * UInt64.cs: added complex Parse ().
336
337 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
338
339         * SByte.cs:
340         * Int16.cs:
341         * Int32.cs:
342         * Int64.cs: added complex Parse ().
343
344 2002-04-09  Nick Drochak  <ndrochak@gol.com>
345
346         * Array.cs (BinarySearch): Add checks on paramters before using them
347         and throw exceptions as needed.
348
349         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
350         "G" format to "F" if so.
351
352 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
353
354         * MonoCustomAttrs.cs: return arrays of type Attribute[]
355         instead of object[].
356
357 2002/04/09  Nick Drochak <ndrochak@gol.com>
358
359         * String.cs (Substring): Copy only non-null characters to the new
360         string.
361
362 2002-04-09  Nick Drochak  <ndrochak@gol.com>
363
364         * IntegerFormatter.cs: Don't use a format character to indicate a
365         custom format was passed in. It was using 'z' to indicate a custom
366         format, but really it should throw a format exception if the user
367         tries to use "z" as the format string. Now it does.
368
369         * Activator.cs: New File.
370
371 2002-04-08  Nick Drochak  <ndrochak@gol.com>
372
373         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
374         applied to an enum. Need to handle the different possible integer
375         types of an enum somehow.  Can anyone say generics?
376
377 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
378
379         * Convert.cs: switched the To*(object) methods to use
380         IConvertible directly instead of calling ChangeType
381
382 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
383
384         * ValueType.cs: make Equals() an internalcall.
385
386 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
387
388         * Type.cs: also look for nested types in FindMembers.
389         * MonoType.cs: make GetNestedTypes() an internalcall.
390
391 2002-04-05  Nick Drochak  <ndrochak@gol.com>
392
393         * Enum.cs (Parse): Handle different underlying types.
394
395 2002/04/04 Nick Drochak <ndrochak@gol.com>
396
397         * Enum.cs (IsDefined): Throw exception when type of value to look for
398         is not the correct one.  Attempt to have it work with string values
399         too, but not sure if the unit tests are getting that far yet.
400
401 2002-04-04  Nick Drochak  <ndrochak@gol.com>
402
403         * Decimal.cs: Fix a couple of typos.
404
405 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
406
407         * Enum.cs: the values array is of the enum and not of the underlying
408         type. Updates and some bug fixes.
409         * MonoType.cs: make the internalcall return FullName instead of the
410         assembly qualified name.
411         * Type.cs: make ToString () simply return FullName.
412
413 2002-04-03  Nick Drochak  <ndrochak@gol.com>
414
415         * Type.cs (GetTypeCode): provide some of the implementation for this
416         method.  It's still too simplistic to be considered complete.
417
418 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
419
420         * Object.cs: fixed FieldGetter/FieldSetter signature
421
422 2002-04-02  Nick Drochak  <ndrochak@gol.com>
423
424         * Environment.cs: add MonoTODO's on parts that should have it.
425
426 2002-04-01  Nick Drochak  <ndrochak@gol.com>
427
428         * Enum.cs: added reality checks (check parameters to most methods that
429         need them).
430
431 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
432
433         * Object.cs: added FieldGetter/FieldSetter
434
435 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
436
437         * IntegerFormatter.cs: fixed initialization error in static
438         constructor.
439
440 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
441
442         * Delegate.cs: added new field to store a trampoline function
443
444 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
445
446         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
447         make custom format strings work (not fully functional yet).
448
449 2002/03/28  Nick Drochak <ndrochak@gol.com>
450
451         * IntegerFormatter.cs: Change class from internal to public.  Add
452         necessary [CLSCompliant(false)] attributes.
453
454 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
455         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
456         (was a typo)
457
458 2002-03-28  Nick Drochak  <ndrochak@gol.com>
459
460         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
461
462 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
463
464         * Console.cs: Modified to get std handles from MonoIO.
465         * Environment.cs: removed PAL dependencies.
466
467 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
468
469         * String.cs (System): Removed internal enumeration, because
470         bootstrapping the corlib at this point does not support
471         enumerations. 
472
473         * IntPtr.cs: Temporary work-around until I fix the assembly
474         attributes bug.
475
476 2002-03-24  Martin Baulig  <martin@gnome.org>
477
478         * Enum.cs (GetValues): According to the docu this is sorted after
479         values, not names.
480
481         * String.cs (System): Removed enumeration, because it is pretty
482         hard to support enumerations in /nostdlib mode for the core types.
483
484 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
485
486         * Array.cs: move error handling in the catch block.
487         * MulticastDelegate.cs: remove == and != operators that were
488         removed with the delegate changes (when you add stuff, please do not
489         remove existing functionality!).
490         * Type.cs: if a property is not found in a type, search for it
491         in the parent types, too.
492
493 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
494         
495         * Math.cs: changed to use icall instead of PAL.
496
497 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
498
499         * Double.cs: added check for NaN (Bug [22082])
500
501 2002-03-19  Nick Drochak  <ndrochak@gol.com>
502
503         * Enum.cs (Equals): check for null and throw if it is.
504         * Enum.cs (Format): check for null parameters and throw if necessary.
505         This method still needs more argument checking.
506
507 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
508
509         * Enum.cs (Equals): check if Enums are of the same type
510
511 2002-03-18  Nick Drochak  <ndrochak@gol.com>
512
513         * Double.cs: Explicitly handle comparisons in CompareTo() for
514         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
515
516         * Enum.cs(CompareTo): Check types of values before trying to compare.
517         Throw exceptions if types are invalid or don't match.
518
519 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
520
521         * Array.cs: Add some extra debugging information.
522
523 2002-03-15  Nick Drochak  <ndrochak@gol.com>
524
525         * Array.cs: Added IList and IEnumerable. 
526
527 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
528
529         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
530         NonCLSCompliant. 
531
532 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
533
534         * Delegate.cs (Equals): also compare method_ptr 
535         (GetHashCode): returm method_ptr as hash
536
537 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
538         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
539         such as 42.ToString("0000000"), as these are (currently) not implemented
540         in System.IntegerFormatter. TimeSpan luckely can do with Standard
541         Numeric Format Strings, such as 42.ToString("D7").
542
543 2002-03-12  Duncan Mak  <duncan@ximian.com>
544
545         * FieldAccessException.cs: 
546         * MethodAccessException.cs: 
547         * PlatformNotSupportedException.cs: Inherit from
548         MemberAccessException, not SystemException.
549
550         * ObsoleteAttribute.cs: Made Message and IsError properties
551         instead of fields.
552
553 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
554
555         * GC.cs: make SuppressFinalize() a nop.
556         * Delegate.cs: fix == operator.
557
558 2002-03-13  Nick Drochak  <ndrochak@gol.com>
559
560         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
561         runtime that goes with this patch.
562
563 2002-03-10  Martin Baulig  <martin@gnome.org>
564
565         * Int32.cs (Parse): Correctly parse negative numbers.
566
567 2002-03-08  Martin Baulig  <martin@gnome.org>
568
569         * String.cs (Split): Really fix it this time. Also adding several new
570         testcase to the testsuite.       
571
572 2002-03-08  Martin Baulig  <martin@gnome.org>
573
574         * Array.cs (Copy): Optimized: removed duplicate null check, removed
575         two duplicate GetLowerBound() calls and one duplicate IsValueType.
576
577 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
578
579         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
580         * String.cs: use the dumb code for IndexOf(string): this is worth
581         15-20 % speedup in mcs compile with mint.
582
583 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
584
585         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
586
587 2002-03-07  Martin Baulig  <martin@gnome.org>
588
589         * String.cs (Join): Throw an ArgumentNullException.
590         (LastIndexOf (string,int,int)): This method does a backwards search,
591         so startIndex points to the end of value, not to its beginning. Don't
592         throw an exception if startIndex equals this.Length. Always return -1
593         if startIndex is smaller than the length of value.
594         (Replace (string,string)): Replace all occurences of oldValue.
595         If newValue is null, all occurences of oldValue are to be removed.
596         (Split (char[],int)): Return an empty array if maxCount is zero, throw
597         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
598         elements, not maxValue+1.
599
600 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
601
602         * MonoType.cs: make GetEvents() an internal call.
603         * MulticastDelegate.cs: copy the passed in array.
604
605 2002-03-06  Martin Baulig  <martin@gnome.org>
606
607         * Array.cs (Copy): Use FastCopy when appropriate and do correct
608         exception handling.
609
610 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
611         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
612         some of the failures found be new tests (see ChangeLog in 
613         Test/System). Comments added to this method, based on
614         the representation invariant of this class, that (try to) explain
615         why it now should be correct.
616
617 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
618
619         * Int64.cs (Parse): bug fix for max. negative value. 
620
621 2002-03-07  Nick Drochak  <ndrochak@gol.com>
622
623         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
624         I need to understand what the difference between the attribute and
625         the interface is.
626
627 2002-03-06  Martin Baulig  <martin@gnome.org>
628
629         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
630         an InvalidCastException if the widening conversion failed. See
631         testcases #M94-#M96.
632
633         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
634         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
635         for this.
636
637         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
638         (Copy): Actually allow copying multi-dimensional arrays.
639
640 2002-03-05  Duncan Mak  <duncan@ximian.com>
641
642         * Convert.cs:
643         (DBNull) Added the missing field.
644         (IsDBNull) Fixed typo.
645         (ToByte (string, int)) Implemented.
646         (ToString (byte, int)) Implemented.
647         (ConvertToBase)
648         (BuildConvertedString) internal functions used for converting values to
649         a specific base.
650
651         * Int16.cs: 
652         * Int32.cs:
653         * Int64.cs:
654         * Single.cs:
655         * UInt16.cs: 
656         * UInt32.cs: Implemented the IConvertible interface.    
657
658         * CharEnumerator.cs: Renamed to variables to be clearer and
659         changed some of the tests to conform to the 1.0 spec.
660
661 2002-03-06  Martin Baulig  <martin@gnome.org>
662
663         * Array.cs (Copy): Calculate absolute array position here and use
664         GetValueImpl() and SetValueImpl() with that position. We can now
665         copy multi-dimensional arrays.
666         (CopyTo): Small bug fix.
667
668 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
669
670         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
671         Nick (See VersionTest.cs).
672         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
673         error comparing the current position (idx) against the length of the
674         string iterated and it set idx to an unrecognized special value (-2)
675
676 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
677
678         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
679         to do this dirty work, but someone has to do it (and I need it to pass
680         the "200 sample tests compiled on linux" mark).
681
682 2002-03-06  Nick Drochak  <ndrochak@gol.com>
683
684         * Attribute.cs
685         * DecimalFormatter.cs
686         * Delegate.cs
687         * Double.cs
688         * GC.cs
689         * Int16.cs
690         * Int32.cs
691         * MonoType.cs
692         * RuntimeMethodHandle.cs
693         * RuntimeTypeHandle.cs
694         * String.cs
695         * Type.cs:
696                 Add [MonoTODO]'s to places where we currently throw a
697                 NotImplementedException.
698
699 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
700
701         * Int16.cs (Parse): do not overflow on max negative value
702
703         * Int32.cs (Parse): do not overflow on max negative value
704
705 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
706
707         * Type.cs: fixed IsClass.
708         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
709         IsByRefImpl. Added GetInterfaces().
710         * IServiceProvider.cs: compilation fix.
711
712 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
713
714         * Array.cs: allow copying an empty array to an empty array.
715
716 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
717
718         * String.cs: fixed LastIndexOf (string) to do a bit of argument
719         checking.
720
721 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
722         * Version.cs: many fixes to failures found by the newly created
723         test cases for this class. Specifically, the CompareTo member
724         returned wrong values due to the use of Int32.MaxValue as a special
725         value indicating an "undefined" version component. Also implemented the
726         missing operators (==, <, >, etc.), one missing constructor and
727         and some exception throwing.
728
729 2002-03-04  Nick Drochak  <ndrochak@gol.com>
730
731         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
732         * Attribute.cs: Add missing attributes: Serializable and
733         AttributeUsage(AttributeTargets.All)
734
735 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
736
737         * MonoType.cs: implemented GetConstructors(), GetFields(),
738         GetMethods(), GetProperties().
739         * Object.cs: added debugging icall obj_address().
740         * Type.cs: fixed the binding flags for some Get* methods.
741         Implemented FindMembers() as calls to the specific GetMember
742         methods.
743
744 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
745         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
746         should give an exception for n>=s.Length.
747
748 2002-03-01  Martin Baulig  <martin@gnome.org>
749
750         * Array.cs: More argument checking and bug fixing.
751
752 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
753
754         * BitConverter.cs: Indentation match
755
756         * AppDomain.cs: Added MonoTODOs to this too.
757
758         * Buffer.cs: Added MonoTODOs to this.
759
760 2002-03-01  Martin Baulig  <martin@gnome.org>
761
762         * Array.cs: Added argument checking to all methods where it was missing.
763
764 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
765
766         * BitConverter.cs: Fixed bugs in ToString methods
767
768 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
769
770         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
771
772 2002-03-01  Nick Drochak  <ndrochak@gol.com>
773
774         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
775         ArgumentOutOfRangeException like the docs say.
776
777 2002-03-01  Martin Baulig  <martin@gnome.org>
778
779         * Enum.cs (CompareTo): Correctly override this method from IComparable.
780
781         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
782
783 2002-02-28  Martin Baulig  <martin@gnome.org>
784
785         * String.cs: This file now passes the testsuite on Linux :-)
786         
787         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
788         make them private and provide C# wrappers which do proper argument checking.
789
790         * String.cs (Format): Correctly handle escaped brackets.
791
792         * String.cs (_CompareChar): New internal function which compares two chars.
793         (_Compare): Provide an internal compare method which can do all sorts of
794         comparision and call it from all the Compare() methods. Also fixed a lot of
795         bugs here, this code now actually passes the testsuite.
796
797 2002-02-28  Duncan Mak  <duncan@ximian.com>
798
799         * Convert.cs: Added the missing methods. The new class status page
800         kicks ass, it even found my typos! Woohoo!
801         (ConvertFromBase): Moved the Exception throwing in here and
802         removed the other occurances so it's all centralized now.
803         (ISDBNull): Implemented.
804         (GetTypeCode): Implemented.
805
806 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
807         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
808         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
809         states that a lacking format should be interpreted as "N".  
810         Also added [Serializable] attribute
811         * TimeSpan.cs: some formatting and added the [Serializable] attribute
812
813 2002-02-26  Duncan Mak  <duncan@ximian.com>
814
815         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
816
817 2002-02-26  Martin Baulig  <martin@gnome.org>
818
819         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
820         fields of the interncall GetTimeZoneData.
821
822         * DateTime.cs: Implemented Parse and fixed a few bugs.
823
824         * String.cs (TrimStart): Small fix.
825
826 2002-02-26  Martin Baulig  <martin@gnome.org>
827
828         * DateTime.cs: ParseExact is now fully functional.
829
830         * String.cs (TrimEnd): Small fix.
831
832 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
833         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
834         missing for about six months.
835
836 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
837
838         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
839
840 2002-02-26  Martin Baulig  <martin@gnome.org>
841
842         * DateTime.cs: Miguel already committed this, but there was still a
843         ChangeLog entry for this missing ....
844         We're now reusing functionality from TimeSpan, printing dates is
845         fully implemented, currently working on parsing.
846
847         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
848         runtime for this.
849
850 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
851
852         * MonoType.cs: disable constructor.
853         * Object.cs: make GetType() an internalcall.
854         * Type.cs: added correct bindingflags to GetMethods ().
855         All such calls should be reviewed to use the correct flags.
856
857 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
858
859         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
860         argument.
861
862 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
863
864         * Type.cs: implemented IsAssignableFrom.
865
866 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
867         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
868         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
869         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
870         The former is documented by Microsoft. The latter is how they
871         actually implemented it in mscorlib:-)
872
873 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
874
875         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
876         runtime.
877         * MonoType.cs: Implemented custom attributes methods.
878
879
880 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
881         * Guid.cs: 
882
883 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
884
885         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
886         runtime.
887         * MonoType.cs: Implemented custom attributes methods.
888
889 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
890
891         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
892
893 2002-02-19  Duncan Mak  <duncan@ximian.com>
894
895         * Convert.cs: Finished up the missing methods in Convert. Added a
896         new private method ConvertFromBase.
897
898 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
899
900         * String.cs: impl. IConvertible interface
901
902 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
903         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
904
905 2002-02-18  Duncan Mak  <duncan@ximian.com>
906
907         * Convert.cs: Changed from using Type.GetType (string) to just
908         typeof (). Probably will speed things up a bit?         
909
910 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
911
912         * Array.cs:         
913         1. Fix for GetUpperBound to return correct values
914         2. made some Properties virtual
915         3. Adds IsFixedSize and IsReadOnly properties.
916         4. changes CreateInstance(Type,int[],int[]) to throw Exception
917         when third arg is null. InternalCall CreateInstance changed to  
918         CreateInstanceImpl
919         5. Fixed array.GetUpperBound at a couple of places
920         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
921         7. Added two FIXME's in BinarySearch functions.
922
923 2002-02-17  Duncan Mak  <duncan@ximian.com>
924
925         * TimeZone.cs:  Applied the rest of Ajay's patch for    
926         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
927         it works!
928
929 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
930         * Guid.cs: added stub for Guid(string) ctor
931
932 2002-02-17  Duncan Mak  <duncan@ximian.com>
933
934         * Convert.cs: Near-complete implementation of Convert.cs
935
936         Added all the To* methods taking (object) and
937         (object, IFormatProvider) as parameters.
938
939         Added [CLSCompliant (false)] attributes to methods dealing with
940         unsigned types.
941
942         Added the missing section on converting to and from DateTime. Only
943         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
944
945 2002-02-16  Duncan Mak  <duncan@ximian.com>
946
947         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
948         make IsDaylightSavingTime (DateTime) call 
949         IsDaylightSavingTime (DateTime, DaylightTime).  
950         
951         Added internal class CurrentTimeZone from Ajay. It needs more work
952         to fill in the appropriate internal calls.
953         
954 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
955
956         * Type.cs: fix IsClass.
957
958 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
959
960         * String.cs: fix Trim().
961
962 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
963
964         * String.cs: fix more off by one errors.
965
966 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
967
968         * MonoType.cs: fix IsValueTypeImpl.
969         * Type.cs: fix IsEnum. Implement Equals methods.
970
971 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
972
973         * Int32.cs: implement IConvertible interface.
974         
975 2002-02-12  Duncan Mak  <duncan@ximian.com>
976
977         * TimeZone.cs: Implemented and added to CVS.
978
979 2002-02-11  Duncan Mak  <duncan@ximian.com>
980
981         * Convert.cs: Implemented the ChangeType () methods.
982
983 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
984
985         * Array.cs: make Clone() an internal call.
986
987 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
988         * Changed Guid.NewGuid so that it can use both System.Random and 
989           System.Security.Cryptography.RandomNumberGenerator
990
991 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
992         * First version of Guid.NewGuid
993
994 2002-02-08  Duncan Mak  <duncan@ximian.com>
995
996         * RuntimeArgumentHandle.cs: Added to CVS.
997
998 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
999
1000         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
1001         UnhandledExceptionEventHandler.cs: added delegates.
1002
1003 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
1004
1005         * MarshalByRefObject.cs: add ToString () method
1006         (apparently needed by nunit).
1007         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
1008         by it in the runtime.
1009
1010 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
1011         
1012         * String.cs (Format): implemented
1013
1014 2002-02-07  Duncan Mak  <duncan@ximian.com>
1015         
1016         * DuplicateWaitObjectException:
1017         * InvalidCastException:
1018         * NotImplementedException:
1019         * NotSupportedException:
1020         * NullReferenceException:
1021         * OutOfMemoryException:
1022         * OverflowException:
1023         * RankException:
1024         * StackOverflowException.cs:
1025         * UnauthorizedAccessException: Added missing constructor used for serialization.
1026
1027 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
1028
1029         * String.cs (System.Compare): bug fix 
1030
1031 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
1032
1033         * Enum.cs (Parse,  GetHashCode): impl. 
1034
1035 2002-02-05  Duncan Mak  <duncan@ximian.com>
1036
1037         * DBNull.cs: This is my first crack at the DBNull class. I think I
1038         actually got most of the IConvertible methods right, but I haven't
1039         done the research to test whether or not this is the correct
1040         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
1041
1042         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
1043
1044 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
1045
1046         * Enum.cs: added more functionality (GetName, ToObject, Equals)
1047
1048 2002-01-31  Duncan Mak  <duncan@ximian.com>
1049
1050         * InvalidOperationException.cs:
1051         * NotFiniteNumberException.cs:
1052         * ObjectDisposedException.cs:
1053         * TypeInitializationException.cs: Added missing bits for serialization/
1054         
1055         * AppDomainUnloadedException.cs:
1056         * ApplicationException.cs:
1057         * ArgumentOutOfRangeException.cs:
1058         * ArithmeticException.cs:
1059         * ArrayTypeMismatchException:
1060         * BadImageFormatException.cs:
1061         * Exception.cs:
1062         * MissingMemberException.cs:
1063         * TypeLoadException.cs: Added missing bits for serialization.
1064
1065 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
1066         * Guid.cs: implemented everything but Guid.NewGuid
1067
1068 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
1069
1070         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
1071         to have it in this interface and it screws up the method vtable setup.
1072
1073 2002-01-28  Andrei Zmievski <andrei@php.net>
1074
1075         * Double.cs: implemented IConvertible interface.
1076
1077 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
1078
1079         * ArgumentException.cs: Implement serialization constructor.
1080         (GetObjectData): Implement serializer.
1081         
1082         * ArgumentNullException.cs: Implement serialization constructor.
1083
1084         * Exception.cs: Implement serialization constructor.
1085         (GetObjectData): Implement serializer.
1086
1087 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
1088
1089         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
1090
1091 2002-01-23  Duncan Mak  <duncan@ximian.com>
1092
1093         * EntryPointNotFoundException.cs:
1094         * FormatException: Added missing constructor and related bits.
1095
1096         * TypeLoadException: Added missing constructor, methods and properties.
1097
1098 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
1099
1100         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
1101         manually getting the enumerator.
1102
1103         (AppDomain.AppDomain): Prime the loaded assemblies with the
1104         assemblies loaded by the runtime in our behalf.
1105
1106         * AppDomainSetup.cs: Remove private keyword, that is the default.
1107         Add a new property DisallowPublisherPolicy.
1108
1109         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
1110
1111 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
1112
1113         * MonoType.cs, Type.cs: many updates, corrected implementation,
1114         completed stubs.
1115
1116 2002-01-20  Andrei Zmievski <andrei@php.net>
1117
1118         * Byte.cs:
1119         * Char.cs: implemented IConvertible interface.
1120
1121         * Boolean.cs: use our own ToString() method directly.
1122
1123 2002-01-20  Duncan Mak  <duncan@ximian.com>
1124
1125         * Files I commited recently: Fixed indentation style.
1126
1127 2002-01-20 Nick Drochak  <ndrochak@gol.com>
1128
1129         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
1130         and delegates too. Added the appropriate usage flags.
1131
1132 2002-01-18  Duncan Mak  <duncan@ximian.com>
1133
1134         * CharEnumerator.cs: Implemented.
1135         * String.cs (System): Fixed the GetEnumerator () method(s).
1136
1137         * ObsoleteAttribute.cs:
1138         * STAThreadAttribute.cs:
1139         * MTAThreadAttribute.cs:
1140         * ThreadStaticAttribute.cs:
1141         * LoaderOptimizationAttribute.cs:
1142         * PlatformNotSupportedException.cs:
1143         * LoaderOptimization.cs: Added to CVS.
1144
1145 2002-01-18  Duncan Mak  <duncan@ximian.com>
1146
1147         * AppDomainUnloadedException.cs:
1148         * MethodAccessException.cs:
1149         * ContextMarshalException.cs:
1150         * CannotUnloadAppDomainException.cs:
1151         * DllNotFoundException.cs:
1152         * EntryPointNotFoundException.cs:
1153         * FieldAccessException.cs:
1154         * TypeUnloadedException.cs:
1155         * MissingFieldException.cs: Added to CVS.
1156
1157         * ApplicationException.cs: 
1158         * MemberAccessException.cs:
1159         * MissingMemberException.cs
1160         * MissingMethodException.cs:
1161         * SystemException.cs: Added [Serializable] attribute.
1162
1163         * Exception.cs: Added [Serializable] attribute, made properties
1164         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
1165         spec.
1166
1167         * ContextStaticAttribute.cs: Added [Serializable] attribute and
1168         put in the missing constructor.
1169
1170         * Environment.cs: Commented out references to
1171         EnvironmentPermissionAttribute, because they're just stubbed out
1172         right now and has no implementation.
1173
1174 2002-01-16  Andrei Zmievski <andrei@php.net>
1175
1176         * Boolean.cs: implemented IConvertible interface
1177
1178 2002-01-15  Nick Drochak  <ndrochak@gol.com>
1179
1180         * ResolveEventArgs.cs: class should derive from EventArgs.
1181
1182 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
1183
1184         * String.cs (System): Use DefaultMemberName for the String class.
1185
1186 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
1187
1188         * String.cs: use IndexerName in index char accessor.
1189
1190 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
1191
1192         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
1193         * String.c: eliminate 64k+ method calls in search.
1194         * Type.cs: handle byref and array types in ToString ().
1195
1196 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
1197
1198         * Guid.cs: created first version
1199
1200 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
1201
1202         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
1203
1204 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
1205
1206         * MulticastDelegate.cs: add == and != operator stubs.
1207         * String.cs: check for null in == operator.
1208         * Type.cs: use a virtual method to get TypeAttributes.
1209
1210 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
1211         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
1212
1213 2002-01-09  Nick Drochak  <ndrochak@gol.com>
1214         
1215         * Environment.cs: Comment out Security attribute and put a MonoTODO
1216         there as a reminder.  We need mcs magic to handle security attributes in
1217         corlib.
1218
1219 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
1220         * Created IAppDomainSetup.cs
1221
1222 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
1223         * Created System._AppDomain interface in _AppDomain.cs
1224
1225 2002-01-06  Nick Drochak  <ndrochak@gol.com>
1226
1227         * ResolveEventArgs.cs: New File, completely implemented! ;)
1228
1229 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
1230
1231         * Enum.cs: dummy ToString impl.
1232         * String.cs: dummy format implementations to get compiler errors
1233         somewhat working.
1234         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
1235
1236 2002-01-05  Ravi Pratap  <ravi@ximian.com>
1237
1238         * TODOAttribute.cs : Augment some more; provide two constructors
1239         with support for a comment too.
1240
1241 2002-01-05  Nick Drochak  <ndrochak@gol.com>
1242
1243         * Uncommented those MonoTODO's now that Ravi's got
1244         the class in there
1245
1246 2001-01-04  Ravi Pratap  <ravi@ximian.com>
1247
1248         * TODOAttribute.cs : Actually add this time ;-)
1249
1250         Change name to MonoTODO.
1251
1252 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
1253
1254         * String.cs (Trim): Fixed a few logic bugs in the code that
1255         calculated how much to trim off the end of the string.
1256
1257 2001-01-04  Nick Drochak  <ndrochak@gol.com>
1258         
1259         * Commented out the [TODO] attributes for now.  We don't have the
1260         class written.  Also changed it to [MonoTODO]
1261
1262 2002-01-04  Ravi Pratap  <ravi@ximian.com>
1263
1264         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
1265         our class libraries that are incomplete.
1266
1267         * Array.cs : Apply attribute wherever we find a FIXME which says
1268         we need something to be implemented there.
1269
1270         * Int32.cs : Ditto.
1271
1272         * MulticastDelegate.cs : Ditto.
1273
1274         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
1275         RuntimeTypeHandle.cs : Ditto.
1276
1277         * String.cs : Ditto.
1278
1279         * Type.cs : Ditto.
1280
1281         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
1282
1283         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
1284         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
1285
1286         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
1287         Delegate.cs : Ditto.
1288
1289         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
1290         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
1291         
1292 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
1293
1294         * Delegate.cs: add Remove() stub.
1295         * Enum.cs: add ToObject().
1296         * Type.cs: add IsEnum property.
1297
1298 2002-01-03  Kristian Rietveld  <kris@gtk.org>
1299
1300         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
1301         DateTime and object.
1302
1303 2001-12-30  Nick Drochak  <ndrochak@gol.com>
1304
1305         * Byte.cs (Parse): Add comments to aid in testing.
1306
1307 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
1308
1309         * Char.cs (Parse): Implement.
1310
1311         * Byte.cs (Parse): Implement a fast parser.
1312         
1313         * SByte.cs (Parse): Implement a fast parser.
1314
1315         * UInt16.cs (Parse): Implement a fast parser.
1316         
1317         * Int16.cs (Parse): Implement a fast parser.
1318
1319         * UInt32.cs (Parse): Implement a fast parser.
1320
1321         * Int32.cs (Parse): Implement a fast parser.
1322
1323 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
1324
1325         * Array.cs: fix null ref in sort code.
1326         * UInt64.cs: add bare-bones parse.
1327
1328 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
1329         
1330         * Byte.cs: removed use of Regexes.
1331
1332 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
1333
1334         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
1335         IsDefined(), GetUnderlyingType().
1336         * String.cs: fix one instance of Compare().
1337         * Type.cs: implemented GetProperties(), GetProperty().
1338
1339 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
1340
1341         * Array.cs: implement CopyTo ().
1342         * Char.cs: implement ToString ().
1343         * Exception.cs: bugfix.
1344         * Int32.cs: bare-bones Parse ().
1345         * MonoType.cs: query the needed info with an internalcall.
1346         * String.cs: speedups, bugfixes, reduced copies.
1347         * Type.cs: added missing fields. Implemented many of the Is*
1348         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
1349         GetFields(), FindMembers(), ToString().
1350         
1351 2001-12-11  Dick Porter  <dick@ximian.com>
1352
1353         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
1354
1355         * Console.cs: Use handles rather than casting file descriptors
1356
1357 2001-12-08  Nick Drochak  <ndrochak@gol.com>
1358
1359         * Byte.cs (Parse): Start implementation. Parse(string) works, but
1360         now we need to handle other formats
1361
1362 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
1363
1364         * DateTime.cs: added an icall to GetNow()
1365
1366 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
1367
1368         * Double.cs: added the parse method from Bob Smith
1369
1370 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
1371
1372         * UInt64.cs: ditto.
1373
1374         * UInt32.cs: ditto.
1375
1376         * Int32.cs (Int32.CompareTo): Fix because we can not just
1377         substract the values.
1378
1379         Return possitive value if the object is null.
1380
1381         * Boolean.cs: (Boolean.CompareTo): ditto.
1382
1383         * Int16.cs (Int16.CompareTo): ditto.
1384
1385         * Byte.cs (Byte.CompareTo): ditto.
1386
1387         * SByte.cs (SByte.CompareTo): ditto.
1388
1389         * Char.cs (Char.CompareTo): ditto.
1390         
1391         * Decimal.cs (Decimal.CompareTo): ditto.
1392
1393         * Int64.cs (Int64.CompareTo): ditto.
1394
1395         * Single.cs: Ditto.
1396
1397         * UInt16.cs: Ditto.
1398
1399 2001-11-28  Nick Drochak <ndrochak@gol.com>
1400
1401         * Byte.cs: Throw NotImplementedException for Parse.
1402
1403 2001-11-27  Derek Holden  <dholden@draper.com>
1404
1405         * IntegerFormatter.cs: Formatting of type "Number" was not
1406         using NumberFormatInfo.NumberNegativePattern.
1407
1408 2001-11-26  Dick Porter  <dick@ximian.com>
1409
1410         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
1411         the finalise routine any more
1412
1413 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
1414
1415         * ApplicationException.cs: internationalize by adding calls to
1416         Locale.GetText ().  And throw NotImplementedExceptions on calls
1417         that we have to implement.
1418
1419         * Version.cs: Ditto.
1420
1421         * ValueType.cs: ditto.
1422
1423         * UnauthorizedAccessException.cs: ditto.
1424
1425         * UInt32.cs: ditto.
1426
1427         * UInt64.cs: ditto.
1428
1429         * UInt16.cs: ditto.
1430
1431         * TypeLoadException.cs: ditto
1432
1433         * TypeInitializationException.cs: ditto.
1434
1435         * Type.cs: ditto.
1436
1437         * TimeSpan.cs: ditto.
1438
1439         * SystemException.cs: ditto.
1440
1441         * String.cs: ditto.
1442
1443         * StackOverflowException.cs: ditto.x
1444
1445         * Single.cs: ditto.
1446
1447         * SByte.cs: ditto.
1448
1449         * RuntimeTypeHandle.cs: ditto.
1450
1451         * RuntimeMethodHandle.cs: ditto.
1452
1453         * RuntimeFieldHandle.cs: ditto.
1454
1455         * Random.cs: ditto.
1456
1457         * OutOfMemoryException.cs: ditto.
1458
1459         * OperatingSystem.cs: ditto.
1460
1461         * ObjectDisposedException.cs: ditto.
1462
1463         * NullReferenceException.cs: ditto.
1464
1465         * NotImplementedException.cs: ditto.
1466
1467         * NotFiniteNumberException.cs: ditto.o
1468
1469         * MulticastNotSupportedException.cs: ditto.
1470
1471         * MissingMethodException.cs: ditto.
1472
1473         * MemberAccessException.cs: ditto.
1474
1475         * Math.cs: ditto.
1476
1477         * InvalidCastException.cs: ditto.
1478
1479         * IntegerFormatter.cs: ditto.
1480
1481         * Int32.cs: ditto.
1482
1483         * Int16.cs: ditto.
1484
1485         * IndexOutOfRangeException.cs: ditto.
1486
1487         * Environment.cs: ditto
1488
1489         * Enum.cs: ditto.
1490
1491         * DuplicateWaitObjectException.cs: ditto.
1492
1493         * DivideByZeroException.cs: ditto.
1494
1495         * Delegate.cs: ditto
1496
1497         * DecimalFormatter.cs: ditto.
1498
1499         * Decimal.cs: ditto.
1500
1501         * DateTime.cs: ditto.
1502
1503         * Convert.cs: ditto.
1504
1505         * Char.cs: ditto.
1506
1507         * Byte.cs: ditto.
1508
1509         * Boolean.cs: ditto.
1510
1511         * ArrayTypeMismatchException.cs: ditto.
1512
1513         * ArithmeticException.cs: ditto.
1514
1515         * ArgumentOutOfRangeException.cs: ditto.
1516
1517         * ArgumentNullException.cs: ditto.
1518
1519         * Enum.cs: Make it derive from ValueType, add CompareTo method.
1520
1521         * Attribute.cs: Reformat.
1522
1523 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
1524
1525         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
1526         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
1527         exception if the value is null too.
1528
1529         * Char.cs (CompareTo): ditto.
1530
1531         * ApplicationException.cs: Added constructor that does serialization.
1532
1533         * ParamArrayAttribute.cs: Define attribute correctly.
1534
1535 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
1536
1537         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
1538         * Array.cs: fix Array.Copy.
1539         * AssemblyLoadEventArgs.cs: rename field.
1540         * CLSCompliantAttribute.cs: use correct name for the class.
1541         * Char.cs: fix IsLetter.
1542         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
1543         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
1544         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
1545         * Delegate.cs: renamed target field to m_target.
1546         * Enum.cs: added missing methods.
1547         * MonoType.cs: add a constructor and some needed properties.
1548         * Object.cs: implement GetType().
1549         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
1550         ending 0 char.
1551         * Type.cs: add missing methods/properties.
1552
1553 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
1554
1555         * AttributeUseage.cs: Should define AttributeUsageAttribute.
1556
1557         * CLSCompliant.cs: Marked with AttributeUsage attribute.
1558
1559         * Decimal.cs: Fixed CLSCompliant attributes.
1560
1561         * Type.cs: changed _impl to internal (needs to be accessable by
1562         subclasses).
1563
1564         (TypeHandle): Marked as abstract, implementation removed.
1565
1566         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
1567         GetMethod): Added stub implementations so NUnit would link against
1568         corlib
1569
1570 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
1571
1572         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
1573
1574 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
1575
1576         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
1577         attribute. 
1578
1579 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
1580
1581         * String.cs: fix a couple of bugs.
1582         * AppDomain.cs: use new AppBuilder constructor.
1583         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
1584         NotImplementedException.cs, ObjectDisposedException.cs,
1585         UnauthorizedAccessException.cs: add implementation.
1586         * OverflowException.cs: fix class name.
1587
1588 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
1589
1590         * String.cs: Don't use a terminating nil char for our internal
1591         array.
1592
1593 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
1594
1595         * Delegate.cs (Delegate.CombineImpl): Implement.
1596         (Delegate.Combine): Implement.
1597
1598         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
1599
1600         (MulticastDelegate.CombineImpl): This was not as trivial as I
1601         thought. 
1602
1603         * ContextStaticAttribute.cs: Added AttributeUsage to
1604         ContextStaticAttribute. 
1605
1606         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
1607
1608 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
1609
1610         * added Decimal.cs * added DecimalFormatter.cs (internal class
1611         used from System.Decimal)
1612
1613 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
1614
1615         * Convert.cs: Added methods for Base64 transforming just used the
1616           existing System.Security.Cryptography.ToBase64Transform, should
1617           be changed to use a stand-alone class, e.g. Base64Encoder
1618           
1619 2001-10-10  Derek Holden  <dholden@draper.com>
1620
1621         * IntegerFormatter.cs: Added. Implements ToString for all the
1622         integer data types for all the format types.
1623
1624         * Byte.cs: Using IntegerFormatter for ToString's.
1625
1626         * SByte.cs: Using IntegerFormatter for ToString's.
1627
1628         * Int16.cs: Using IntegerFormatter for ToString's.
1629
1630         * Int32.cs: Using IntegerFormatter for ToString's.
1631
1632         * Int64.cs: Using IntegerFormatter for ToString's.
1633
1634         * UInt16.cs: Using IntegerFormatter for ToString's.
1635
1636         * UInt32.cs: Using IntegerFormatter for ToString's.
1637
1638         * UInt64.cs: Using IntegerFormatter for ToString's.
1639
1640 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
1641
1642         * Exception.cs: Implement bits of serialization.
1643
1644         * RuntimeFieldHandle.cs: Implement Serialization features.
1645
1646         * Type.cs: Implement TypeHandle property.
1647
1648 2001-09-28  Dick Porter  <dick@ximian.com>
1649
1650         * LocalDataStoreSlot.cs: Implemented
1651
1652 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
1653
1654         * String.cs: fix off-by-one error in Trim().
1655
1656 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
1657
1658         * Type.cs: added GetType () method.
1659
1660 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
1661
1662         * MissingMethodException.cs, MissingMemberException.cs,
1663         MemberAccessException.cs: added.
1664
1665 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
1666
1667         * String.cs: don't access the string array out of bounds in
1668         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
1669
1670 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
1671
1672         * String.cs: make Intern and IsIntern internalcalls.
1673
1674 2001-09-13  Dick Porter  <dick@ximian.com>
1675
1676         * Type.cs: Added a stub for the IsValueType property.
1677
1678         * SystemException.cs (System): Added the other constructor, so
1679         that System.Threading exceptions can inherit it.
1680
1681 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
1682
1683         * String.cs (TrimStart): Don't keep looping through the trimchars
1684         once we've found a match.
1685         (TrimEnd): Same here.
1686         (Trim): And finally here.
1687
1688 2001-09-07  Ravi Pratap  <ravi@ximian.com>
1689
1690         * Char.cs (IsLetterOrDigit): Implement.
1691         (IsLower): Implement, but we need to be Unicode aware.
1692         (IsNumber): Implement.
1693         (IsPunctuation): Implement.
1694         (IsWhiteSpace): Implement.
1695         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
1696         (ToLower): Same here.
1697
1698 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
1699
1700         * Object.cs: Shortcut, if (a == b) then return true.
1701
1702 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
1703
1704         * Delegate.cs: we need a pointer to the method thunk in
1705         the delegate object.
1706
1707 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
1708
1709         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
1710
1711 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
1712
1713         * String.cs (System): Don't mix uint and int.
1714
1715 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
1716
1717         * String.cs (BoyerMoore): Modified to not use pointers and to instead
1718         use indexes.
1719         (IndexOf): Use BoyerMoore.
1720
1721 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
1722
1723         * All over: Use the autogenerated enumerations from the ECMA
1724         documentation that Sergey wrote.
1725         
1726         * PlatformID.cs: Add Unix definition.
1727
1728         * OperatingSystem.cs: Use Unix instead of Linux here.
1729
1730         * MarshalByRefObject.cs: Mark class as [Serializable].
1731
1732 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
1733
1734         * Console.cs: impl. (write only)
1735         implemented the stdin stuff
1736
1737         * Int32.cs: impl. real op_Equal
1738
1739 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
1740
1741         * (common.src): Removed IAsyncResult as it is not on CVS yet.
1742
1743         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
1744         as it breaks the build.
1745
1746 2001-08-23  Michael Lambert <michaellambert@email.com>
1747
1748         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
1749         added CLSCompliant attribute
1750
1751         * IAsyncResult.cs: Added
1752
1753         * common.src: Added IAsyncResult.cs
1754
1755 2001-08-23  Michael Lambert <michaellambert@email.com>
1756
1757         * UIntPtr.cs: Added
1758
1759         * common.src: Added UIntPtr.cs
1760
1761 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
1762
1763         * Attribute.cs: uncomment some code to make it compile again
1764
1765         * mono.src: removed duplicated Attribute.cs
1766
1767 2001-08-16  Nick Drochak <ndrochak@gol.com>
1768
1769         * Attribute.cs: implemented all methods except GetHashCode()
1770
1771         * common.src: added Attribute.cs so it would compile in
1772
1773 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
1774
1775         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
1776         marked it as InternalCall
1777         
1778         * common.src: removed UriFormatException.cs because the file is
1779         not there.
1780
1781         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
1782         * Char.cs: replaced byte with char
1783
1784         * Array.cs: make it work with the mono interpreter
1785
1786 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
1787
1788         * Version.cs: Make the class sealed
1789
1790 2001-08-08  Bob Smith  <bob@thestuff.net>
1791
1792         * Random.cs: Many compile fixes.
1793         * Random.cs: I read a bad spec. Class updated to match real spec.
1794
1795 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
1796
1797         * IntPtr.cs: Added and Completed implementation.
1798
1799         * Uri.cs: Add a note.
1800
1801 2001-08-06  Bob Smith  <bob@thestuff.net>
1802
1803         * Random.cs: Compile fix. Needs more testing.
1804
1805 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
1806
1807         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
1808         into account IPv6 addresses, url encoding needs to be implemented, and 
1809         various minor methods need to be written, but this is a decent start.
1810
1811 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
1812
1813         * common.src: added Object.cs
1814
1815         * mono.src: added ValueType.cs
1816
1817 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
1818
1819         * Math.cs: replaced libc with libm
1820
1821 2001-08-02  Bob Smith  <bob@thestuff.net>
1822
1823         * Random.cs: Implemented. Needs testing.
1824
1825 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
1826
1827         * IServiceProvider.cs, EventHandler.cs: New files.
1828
1829 2001-08-02  Marcel Narings  <marcel@narings.nl>
1830         
1831         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
1832         Added exceptions. Added IConvertible. Still needs some platform 
1833         dependend stuff, the Parse and ToString members
1834
1835 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
1836
1837         * Type.cs (GetTypeFromHandle): added placeholder 
1838
1839 2001-07-24  Derek Holden  <dholden@draper.com>
1840
1841         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
1842         which is really an IConvertible defined method.
1843
1844         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
1845         behavior, still need to do the main Parse and ToString.
1846
1847         * Char.cs: Added a bunch of missing ECMA methods. Commented a
1848         specification discrepency. Still didn't any unicode stuff, though
1849         every IsFoo(char c) method has an IsFoo(string, index)
1850         counterpart, added wrappers for those.
1851         
1852         * Convert.cs: Fixed NaN/Inf checking and double/float
1853         rounding. Added ToType for IConvertible classes
1854
1855         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
1856         IsNaN methods. Changed Inf/NaN internals.
1857
1858         * IConvertible.cs: Added comments for using
1859         Convert.ToType. Changed return values to draft base values.
1860
1861         * Int16.cs: Added a missing Parse statement. Put in behavior for
1862         overloaded ToString and Parse methods.
1863
1864         * Int32.cs: Added a missing Parse statement. Put in behavior for
1865         overloaded ToString and Parse methods.
1866
1867         * Int64.cs: Added a missing Parse statement. Put in behavior for
1868         overloaded ToString and Parse methods.
1869         
1870         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
1871         methods. Changed Inf/NaN internals.
1872
1873         * SByte.cs: Added a missing Parse method. Put in Parse and
1874         ToString behavior, still need to do the main Parse and ToString.
1875
1876         * UInt16.cs: Added a missing Parse statement. Put in behavior for
1877         overloaded ToString and Parse methods.
1878
1879         * UInt32.cs: Added a missing Parse statement. Put in behavior for
1880         overloaded ToString and Parse methods.
1881
1882         * UInt64.cs: Added a missing Parse statement. Put in behavior for
1883         overloaded ToString and Parse methods.
1884         
1885 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
1886
1887         * MulticastDelegate.cs: New File.
1888
1889         * Delegate.cs: New file.
1890
1891         * Enum.cs: New file.
1892
1893         * Attribute.cs: New file.
1894
1895         * Type.cs: New file.
1896
1897         * ParamArrayAttribute.cs: New file.
1898
1899         * RuntimeTypeHandle.cs: New file.
1900
1901         * MulticastDelegate.cs: Added.
1902
1903         * DateTime.cs: Added
1904
1905         * Delegate.cs: Added
1906
1907 2001-07-18  Michael Lambert <michaellambert@email.com>
1908
1909         * AttributeTargets.cs: Add.
1910
1911 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
1912
1913         * Char.cs: Made ToUpper and ToLower public methods.
1914
1915         * String.cs: Lots and lots of compile fixes - just need to write
1916         DateTime.cs and this should build completely now.
1917
1918 2001-07-19  Bob Smith (bob@thestuff.net)
1919
1920         * Math.cs: Implemented. 
1921
1922 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
1923
1924         * String.cs: Removed tolower and toupper.
1925
1926         * Char.cs: Moved ToLower and ToUpper from string to here. 
1927
1928         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
1929         instead of comparing the value to Nan.
1930
1931 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
1932
1933         * TimeSpan.cs: New implementation.
1934
1935 2001-07-18  Scott Sanders <scott@stonecobra.com>
1936
1937          * UriFormatExcpetion.cs: Add - 85% complete
1938
1939 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
1940
1941         * String.cs (IndexOf): Slight optimization that allows skipping
1942         over a few chars here and there. This isn't as good as using my
1943         Boyer-Moore implementation, however, Boyer-Moore is only really
1944         good for long strings (I plan on making the code decide which
1945         string search algorithm it should use on-the-fly at some point).
1946         (LastIndexOf): Fix to work correctly.
1947         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
1948
1949 2001-07-16  Michael Lambert <michaellambert@email.com>
1950
1951         * EventArgs.cs: Add.
1952         
1953 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
1954
1955         * Version.cs: Remove my buggy comment.
1956
1957 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
1958
1959         * String.cs: Spelling error of IComparable, object's
1960         MemberwiseClone cannot be overridden.  Made indexer valid for now,
1961         but not sure what to do about this in the long run.  Seems to be a
1962         couple bugs in csc.exe having to do with multiple pointer defs in
1963         the same statement, and returning subclasses of a class in the
1964         return type of an interface function implementation.  Also moved
1965         operators inside of class definition.
1966
1967 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
1968
1969         * String.cs: A tom of compile fixes, although we still don't compile.
1970
1971         * IConvertible.cs: The To*Int64() methods return *Int64's, not
1972         *Int32's. Also, it's ToDateTime() not ToDateType().
1973
1974 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
1975
1976         * String.cs: Apparently I needed to at least write stubs for the
1977         IConvertible interfaces. *sigh*
1978
1979 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
1980
1981         * String.cs: Many logic/other fixes and better usage of the
1982         features of c#
1983         (tolower): New convenience method to help condense code.
1984         (toupper): Another new helper method.
1985         (Compare): Use the new helper methods.
1986         (ToLower): use tolower().
1987         (ToUpper): use toupper().
1988         (LastIndexOfAny): Implemented.
1989         (BoyerMoore): New private helper method that implements a modified
1990         version of the Boyer-Moore search algorithm. Noothing uses it yet
1991         as I'm not 100% sure it even works properly with unicode strings
1992         not to mention it uses a huge lookup-table :-)
1993         (Split): Implemented.
1994
1995 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
1996
1997         * TODO: Added things that need to be finished in System.String
1998
1999         * String.cs: New source file implementing the System.String class
2000
2001 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
2002
2003         * TypeCode.cs: UInt64 was UInt63.
2004
2005         * Object.cs: Fixed a numer of compiler errors.
2006
2007         * Array.cs: Fixed some compiler errors.
2008
2009         * IComparable.cs: Fixed some compiler errors.
2010
2011         * ICloneable.cs: Fixed some compiler errors.
2012
2013         * IConvertible.cs: Fixed some compiler errors.
2014
2015         * IFormattable.cs: Fixed a compiler error.
2016
2017         * IFormatProvider.cs: Fixed a compiler error.
2018
2019         * IDisposable.cs: Fixed a compiler error.
2020
2021         * IFormatProvider.cs: Added public accesability type to
2022         IFormatProvider.
2023
2024         * Exception.cs: Added a using statement to remove compile time
2025         error.
2026
2027         * ApplicationException.cs: Removed a ; that was causing a compiler
2028         error.
2029
2030         * Int16.cs: Fixed some compiler errors.
2031
2032         * Int32.cs: Fixed some compiler errors.
2033
2034         * Int64.cs: Fixed some compiler errors.
2035
2036         * SystemException.cs: Fixed a compiler error.
2037
2038         * UInt16.cs: Fixed some compiler errors.
2039
2040         * UInt32.cs: Fixed some compiler errors.
2041
2042         * UInt64.cs: Fixed some compiler errors.
2043
2044         * Void.cs: Fixed a compiler error.      
2045
2046 2001-07-12  Joe Shaw  <joe@ximian.com>
2047
2048         * Array.cs: Fix backwards parameters to Array.SetValue()
2049         throughout.
2050         (BinarySearch): Fix backward logic surrounding whether to call
2051         value.CompareTo or comparer.Compare.
2052         (LastIndexOf): Stop being stupid. I am so not used to strongly
2053         bounded arrays...
2054         (Sort): Implement a quicksort.
2055
2056 2001-07-11  Joe Shaw  <joe@ximian.com>
2057
2058         * Array.cs: Change all instances of trying to access an array with
2059         the index operator to calls to GetValue and SetValue, and add
2060         InternalGetValue and InternalSetValue which are internal calls
2061         into the runtime. Ew.
2062
2063 2001-07-10  Joe Shaw  <joe@ximian.com>
2064
2065         * Array.cs: Implemented everything but Sort().
2066
2067 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
2068
2069         * Object.cs (Object::Equals): Object variable name is `o'.
2070
2071 2001-07-06  Joe Shaw  <joe@ximian.com>
2072
2073         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
2074         Implement the IComparable and IFormattable interfaces. Fix a typo
2075         (publig -> public)
2076
2077         * ApplicationException.cs, ArgumentException.cs,
2078         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
2079         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
2080         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
2081         ExecutionEngineException.cs, FormatException.cs,
2082         IndexOutOfRangeException.cs, InvalidCastException.cs,
2083         InvalidOperationException.cs, InvalidProgramException.cs,
2084         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
2085         NotSupportedException.cs, NullReferenceException.cs,
2086         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
2087         StackOverflowException.cs, SystemException.cs,
2088         TypeInitializationException.cs: Added all of the exceptions
2089         specified by the language spec. Mmmm... bloat.
2090
2091 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
2092
2093         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
2094         do a generic routine all of these guys use.
2095
2096         * Int16.cs: identified missing methods.
2097
2098         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
2099
2100 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
2101
2102         * TypeCode.cs: Implement
2103
2104         * Void.cs: Implement.
2105
2106         * TODO: Add file to keep track of pending tasks.
2107
2108         * Object.cs, ValueType.cs: Implement.