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