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