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