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