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