2004-06-03 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / class / corlib / System / ChangeLog
1 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
4
5 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
6
7         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
8         spans. Fixed parsing when only days are presents in the string (which
9         should be illegal according to the documentation but is supported).
10
11 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
12
13         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
14         somewhat different from the documentation.
15
16 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
17
18         * Type.cs: added missing attributes on InvokeMember
19
20 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
21
22         * String.cs: Flag concat with four arguments internal. 
23
24 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
25
26         * Array.cs: Fixed legal case where value is null.
27         * Byte.cs: Fixed ToString when format is an empty string (use "G").
28         * Guid.cs: Renamed private fields (and changed some to signed) to 
29         match MS implementation and allow serialization to work. Fix 
30         bug #59113.
31
32 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
33
34         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
35
36 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
37
38         * Console.cs: Remove *again* the version of WriteLine with four
39         arguments;  That should *not* be added.  
40
41         Flag it as internal as people migrate their code.
42
43 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
44
45         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
46         ArgumentNullException (only case, all other returns 0). Fixed exception
47         reporting for hex prefix only strings. Fixed ChangeTo where null could
48         be misinterpreted between null and Empty.
49
50 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
51
52         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
53         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
54         case when we parse Int64.MinValue (positive doesn't fit a signed long).
55
56 2004-05-28  Jackson Harper  <jackson@ximian.com>
57
58         * Environment.cs: Increment version number.
59         
60 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
61
62         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
63         Fixes #59189.
64
65 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
66
67         * DateTime.cs : I reverted my fix by accident :(
68
69 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
70
71         * DateTime.cs :
72           - In ToString(), Don't use culture-dependent daynames to format
73             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
74           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
75             (since the format string is the same as 'F').
76
77 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
78
79         * DateTime.cs : don't adjust utc value in ToString(). It must output
80           the same time value, just adding 'Z' for UTC.
81
82 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
83
84         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
85           proceeding.
86
87 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
88
89         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
90
91 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
92
93         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
94         * Convert.cs: Convert with a base parameter cannot parse negative 
95         string numbers, even "-0".
96         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
97         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
98         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
99
100 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
101
102         * DateTime.cs : 
103           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
104             to common formats (yes, I know it is nothing more than hack)
105           - Fixed some GetDateTimeFormats() that just returned patterns.
106           - For InvariantCulture, now try both supported formats and our
107             predefined formats.
108           - It was accepting incorrectly extraneous characters. That caused
109             some UTC/non-UTC bug.
110           - RFC1123 string should return universal time. Uncomment again (the
111             problem should went away because of the extra characters fix above.
112
113             With some of the changes above, fixed bug #47720.
114
115 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
116
117         * DateTime.cs : quick revert 'Z' support for certificate verifications.
118
119 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
120
121         * Array.cs: Removed duplicate condition if LastIndexOf.
122
123 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
124
125         * DateTime.cs :
126           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
127             (Fixed bug #58938.)
128           - As a quick remedy to accept more patterns, Parse() now also tries
129             InvariantInfo patterns (this is because we have no more than one
130             pattern for each pattern component.)
131           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
132             culture uses 'Z' as AM/PM designer, and it should be recognized as
133             part of the UTCpattern (if it actually UTC pattern for the culture
134             contains 'Z').
135
136 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
137
138         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
139         seems to allow multiple attributes with AllowMultiple at
140         runtime.
141
142 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
143
144         * Byte.cs: Throw an OverflowException for negative numbers.
145         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
146         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
147
148 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
149
150         * Array.cs: Fixed possible integer overflow.
151         * BitConverter.cs: Fixed a possible integer overflow in ToString.
152         * Guid.cs: Added an internal method to create a random Guid without
153         using CryptoConfig (which is heavy on first use). This is only used
154         in S.R.E.ModuleBuilder to speedup MCS compilation.
155         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
156         possible integer overflow in methods that takes index and count
157         as parameters.
158
159 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
160
161         * String.cs: Add new Strcpy icalls which take a char array as 
162         parameter.
163
164 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
165
166         * DateTime.cs : added more invariant format patterns. This should
167           really fix bug #57656.
168
169 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
170
171         * BitConverter.cs (ToBoolean): Return true or false instead
172         of unsafe returing byte as bool. Fixes bug #58874.
173
174 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
175
176         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
177           string format argument is null.
178
179 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
180
181         * Version.cs: Rename of data fields to match those in Microsoft.NET.
182           Patch by PAF@design.ru.
183
184 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
185
186         * DateTime.cs: allow double quotes in the formats. Don't set
187         next_not_digit to true in presence of single or double quotes. Patch by
188         Martin Probst.
189
190 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
191
192         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
193
194 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
195
196         * Array.cs: Fixed exception when we try to Clear outside bounds.
197         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
198         * BitConverter.cs: Fixed negative index and integer overflow in
199         To... methods.
200         * Buffer.cs: Fixed integer overflow in BlockCopy.
201
202 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
203
204         * Array.cs: Clear can now work on multidimentional arrays.
205         * IntPtr.cs: We now only accept 32bits values in the long constructor
206         unless we're on a 64 bits machine.
207         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
208         constructor unless we're on a 64 bits machine.
209
210 2004-05-22  Duncan Mak  <duncan@ximian.com>
211
212         * Convert.cs: The file was mostly in DOS endings already, for the
213         sake of consistency, converted it all to DOS endings.
214         (ToType): When value is null, immediately return null and don't
215         ever throw a NullReferenceException. When conversionType is null,
216         throw an InvalidCastException. Give a better error message when
217         attempting to convert to a DBNull as well.
218
219 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
220
221         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
222         of Decimal (and not use the banker's rounding like Convert.To...).
223         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
224         to NaN compares (see new unit tests).
225
226 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
227
228         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
229         Also fixed the case where wide (16 bits) characters were converted to 
230         bytes.
231
232 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
233
234         * ThreadStaticAttribute.cs
235         * ContextStaticAttribute.cs
236         * FlagsAttribute.cs
237         * ObsoleteAttribute.cs : now that Inherited is false by
238         default on AttributeUsageAttribute (as it should be) we
239         need to explicitly set Inherited to false for those
240         attributes should it be be false.
241
242 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
243
244         * AttributeUsageAttribute.cs: Inherited property should be
245         true by defaultrs.cs: respect Inherited property, and
246
247 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
248
249         * MonoCustomAttrs.cs: respect Inherited property, and
250         AllowMultiple property of a CustomAttribute. This fixes
251         a major issue we had with respect to custom attributes.
252
253 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
254
255         * MonoType.cs: throw ArgumentNullException when type parameter in
256         GetCustomAttributes(Type, bool) is null
257
258 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
259
260         * Buffer.cs: Added checks for null source and destination. Fix failing
261         CryptoStream unit test.
262         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
263         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
264         spec). This removes the TODO to get the computer MAC address and
265         the chances to get a duplicate GUID (across different machines).
266
267 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
268
269         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
270           than OverflowExceptions then something went wrong internally
271
272 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
273
274         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
275           culture - sensitive
276
277 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
278
279         * Buffer.cs: Optimize BlockCopy.
280
281         * Environment.cs: Bump corlib version.
282
283 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
284
285         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
286           See also bug #58478.
287
288 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
289
290         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
291         been set. Just return null as MS. Fixes bug #58120.
292
293 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
294
295         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
296           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
297           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
298           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
299           useless [CLSCompliant (false)]
300
301
302 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
303
304         * __ComObject.cs: To please corcompare (no implementation).
305
306 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
307
308         * Environment.cs: Bump corlib version.
309
310 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
311
312         * Environement.cs: Removed two security attributes for CurrentDirectory
313         that weren't documented (and anyway we don't support them).
314
315 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
316
317         * Char.cs: Fix exceptions
318
319 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
320
321         * MissingMemberException.cs: Fix in serialization constructor.
322
323 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
324
325         * Environment.cs: GetGacPath return value is resolved at runtime on
326         windows.
327
328 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
329  
330         * Convert.cs: ToBase64CharArray method was depending on a bug in 
331         S.S.C.ToBase64Transform class to work. Added an internal method to 
332         provide the same functionality (multiple block processing).
333
334 2004-05-06  Jackson Harper  <jackson@ximian.com>
335
336         * Environment.cs: Make $HOME the personal directory.
337
338 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
339  
340         * Convert.cs: ToBase64String method was depending on a bug in 
341         S.S.C.ToBase64Transform class to work. Added an internal method to 
342         provide the same functionality (multiple block processing).
343
344 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
345  
346         * Environment.cs: Completed OSVersion property.
347         * Version.cs: Added internal CreateFromString() to "try" to build the
348         best version number form the specified string.
349  
350 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
351
352         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
353           Fixes several potential bugs and makes things way faster.
354
355 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
356
357         * TimeSpan.cs: Formatting changes
358
359 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
360
361         * Activator.cs: change _flags to a const.
362         * IntegerFormatter.cs: make tables readonly.
363         * Convert.cs: tables readonly
364         * DateTime.cs: ditto.
365         * IntPtr.cs: avoid a cctor.
366
367 2004-04-29  Jackson Harper  <jackson@ximian.com>
368
369         * MonoType.cs: 
370         * Type.cs: NET_2_0 now instead of 1_2. 
371         
372 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
373
374         * Environment.cs: implemented GetLogicalDrives.
375
376 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
377
378         * Applied patch from Atsushi Enomoto that allows Synchronized
379         writers to have a `dont close' flag, this fixes 52094
380
381 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
382
383         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
384         return the method if it is private (it did until now because of a
385         bug). Make sure it works as it worked before the fix.
386         * Type.cs: Implemented FilterAttribute delegate.
387
388 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
389
390         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
391
392 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
393
394         * IntegerFormatter.cs: Made functions internal (needed by other patches)
395
396 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
397
398         * DateTime.cs: TODO cleaning.
399         * Delegate.cs: GetObjectData should be virtual.
400         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
401           30 methods almost identical.
402         * MulticastDelegate.cs: Implemented GetObjectData.
403         
404 2004-04-26  Jackson Harper  <jackson@ximian.com>
405
406         * Environment.cs: Things going bump in the night.
407
408 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
409
410         * Convert.cs (toBase64Transform): Make private.
411
412 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
413
414         * Convert.cs:
415         * Decimal.cs:
416         * DecimalFormatter.cs:
417         * FloatingPointFormatter.cs: Call invariant Char functions
418         * Guid.cs: Call invariant Char and String functions
419         * String.cs: Call invariant Char functions
420
421 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
422
423         * String.cs: Refactored the Invariant ToXXX into its own internal methods
424           so they are directly callable within corlib (can prevent early
425           construction of CultureInfo, InvariantCulture and related classes)
426
427 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
428
429         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
430         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
431
432 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
433
434         * String.cs: Check for null values
435
436 2004-04-23  Peter Bartok <pbartok@novell.com>
437
438         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
439           will do a better fix in the future, but this way apps can at least use it.
440
441 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
442
443         * Environment.cs: Better support for GetFolderPath (same results as MS 
444           on Windows).
445
446 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
447
448         * Activator.cs: Removed TODOs for finished methods.
449         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
450           must be relative to the current directory, not the temp directory.
451           Implemented DynamicBase.
452         * Convert.cs: No need to create a ToBase64Transform instance at every call
453           to ToBase64CharArray.
454         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
455           ToFileTimeUtc.
456         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
457         * Delegate.cs: Removed class TODO.
458         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
459           methods.
460         * Type.cs: Removed TODOs for things already implemented.
461         
462 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
463
464         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
465         * MulticastDelegate.cs: Removed unused code.
466
467 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
468
469         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
470         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
471         * BadImageFormatException.cs: TODO reformat.
472         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
473         * DelegateSerializationHolder.cs: Made class internal.
474         * Enum.cs: Removed TODO for localization, since this is something that has
475           to be done for all classes.
476         * Environment.cs: Removed TODO.
477         * Exception.cs: Changed ToString to use StringBuilder.
478         * MonoDummy.cs: Made class internal.
479         * UnitySerializationHolder.cs: Added support for modules.
480
481 2004-04-16  David Sheldon <dave-mono@earth.li>
482
483         * DecimalFormatter.cs: Don't append a decimal point after the
484           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
485           "100. %"
486
487 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
488
489         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
490           this.
491
492 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
493
494         * MonoDummy.cs: added MonoTODO to make sure we remove this class
495           when its no longer needed
496
497 2004-04-09  David Sheldon <dave-mono@earth.li>
498
499         * Convert.cs: Allow + signs in strings for ToInt32, and
500           - if it is base 10.
501
502 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
503
504         * Nullable.cs : usingdecl should also be conditional.
505
506 2004-04-07  Martin Baulig  <martin@ximian.com>
507
508         * Nullable.cs: New file.
509
510 2004-04-07  Martin Baulig  <martin@ximian.com>
511
512         * Type.cs (Type.GetGenericArguments): Make this abstract.
513
514 2004-04-07  Jackson Harper  <jackson@ximian.com>
515
516         * Environment.cs: Increase corlib version number.
517         
518 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
519
520         * Environment.cs:
521         (ExpandEnvironmentVariables): on windows, env. vars. are case
522         insensitive.
523
524 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
525
526         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
527         Removed [ThreadStatic] for _principalPolicy (not required).
528
529 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
530
531         * Guid.cs: Flag as Sequential.
532
533 2004-04-02  Dick Porter  <dick@ximian.com>
534
535         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
536
537 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
538
539         * Environment.cs: Implement ExpandEnvironmentVariables static method.
540         Now call the runtime to get the username (fix #56144).
541
542 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
543
544         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
545         Fixes bug #56341.
546
547 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
548
549         * Console.cs: If we fail to open stdin/stdout/stderr, create
550         readers with a NullStream.  This can happen if our caller does not
551         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
552         it will happen elsewhere.
553
554 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
555
556         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
557         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
558         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
559           the constructor. This fixes bug #54019.
560
561 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
562
563         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
564           internal variables to structures that are moved around methods.
565           Factorized some common formatting code into FormatNumberInternal.
566           
567 2004-03-23  Dick Porter  <dick@ximian.com>
568
569         * DateTime.cs: Allow any character for DateSeparator when parsing,
570         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
571         deleted the previous fix for 54721, because this covers it too.
572         
573 2004-03-23  Dick Porter  <dick@ximian.com>
574
575         * DateTime.cs: Check the date string for too many digits when
576         parsing.  Fixes bugs 53023 and 53025.
577
578 2004-03-22  Dick Porter  <dick@ximian.com>
579
580         * String.cs: Use the provider when converting strings to other
581         types.
582
583         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
584         formats.  Fixes bug 54721.
585
586 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
587
588         * Console.cs: Styled, optimized calls
589         * CrossAppDomainDelegate.cs: Small header fix
590         * Buffer.cs: Style, improve errors
591         * BitConverter.cs: Style, improve errors, remove obsolete comment
592         * Attribute.cs: Style, improve errors, small fix
593         * Array.cs: Style, improve errors, small fix, added TODOs
594         * Activator.cs: Style, localized errors, added error checks
595         * Byte.cs: Style, localized errors, fixed wrong exception parameters
596         * Char.cs: Style
597         * Boolean.cs: Style
598         * AppDomainSetup.cs: Style
599         * AppDomain.cs: Style, implemented two methods (redirect)
600
601 2004-03-21  Jackson Harper  <jackson@ximian.com>
602
603         * FloatingPointFormatter.cs: Set precision from number format info
604         when it is not specified. This fixes bug #54983.
605         
606 2004-03-18  Nick Drochak <ndrochak@ieee.org>
607
608         * Math.cs: Use IsNaN() method not "x == NaN".
609
610 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
611
612         * EntryPointNotFoundException.cs
613         * DuplicateWaitObjectException.cs
614         * DllNotFoundException.cs
615         * DivideByZeroException.cs
616         * ContextMarshalException.cs
617         * CannotUnloadAppDomainException.cs
618         * BadImageFormatException.cs
619         * ArrayTypeMismatchException.cs
620         * ArithmeticException.cs
621         * ArgumentOutOfRangeException.cs
622         * ArgumentNullException.cs
623         * ArgumentException.cs
624         * ApplicationException.cs
625         * AppDomainUnloadedException.cs: Added missing HResult overrides
626
627         * BadImageFormatException.cs: Improved/ Fixed implementation
628
629 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
630
631         * Random.cs: Corrected random value when Next is called with a 
632         negative value. Testing indictae that our results aren't exactly the 
633         same as MS, we have a +/- 1 (probably rounding errors due to 
634         different implementation).
635
636 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
637
638         * Environment.cs: updated corlib version.
639
640 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
641
642         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
643           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
644           field "value" to "m_value", so it is interoperable with MS.NET when 
645           serializing and deserializing data. Based on the patch from Daniel
646           Keep.
647
648 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
649
650         * TypeInitializationException.cs
651         * SystemException.cs
652         * StackOverflowException.cs
653         * RankException.cs
654         * OverflowExceptionException.cs
655         * OutOfMemoryException.cs
656         * NullReferenceException.cs
657         * NotSupportedException.cs
658         * NotFiniteNumberException.cs
659         * InvalidOperationException.cs
660         * InvalidCastException.cs
661         * IndexOutOfRangeException.cs
662         * FormatException.cs
663         * ExecutionEngineException.cs: improved parameter names
664
665 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
666
667         * Enum.cs
668         * EntryPointNotFoundException.cs
669         * DuplicateWaitObjectException.cs
670         * DoubleFormatter.cs
671         * DllNotFoundException.cs
672         * DivideByZeroException.cs
673         * DelegateSerializationHolder.cs
674         * Delegate.cs
675         * DBNull.cs
676         * ContextStaticAttribute.cs
677         * ContextMarshalException.cs
678         * ContextBoundObject.cs
679         * CLSCompliantAttribute.cs
680         * CharEnumerator.cs
681         * CannotUnloadAppDomainException.cs
682         * BadImageFormatException.cs
683         * AttributeUsageAttribute.cs
684         * AttributeTargets.cs
685         * AsyncCallback.cs
686         * AssemblyLoadEventHandler.cs
687         * AssemblyLoadEventArgs.cs
688         * ArrayTypeMismatchException.cs
689         * ArithmeticException.cs
690         * ArgumentOutOfRangeException.cs
691         * ArgumentNullException.cs
692         * ArgumentException.cs
693         * ArgIterator.cs
694         * ApplicationException.cs
695         * AppDomainUnloadedException.cs
696         * AppDomain.cs: Mono styled, fixed exceptions/ locales
697           removed excess usings
698
699 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
700
701         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
702         spaces) which fixed #54939. Changed the way that the length is 
703         validated (multiple of 4) because the ignored characters must not be
704         included in the count.
705
706 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
707
708         * String.cs: Monostyled
709
710 2004-03-09  Jackson Harper  <jackson@ximian.com>
711
712         * Char.cs: Only use a byte for numeric data.
713         
714 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
715
716         * TypedReference.cs: Added missing Attributes
717         * ParamArrayAttribute.cs: Small style fix
718         * OperatingSystem.cs: Added .Net 1.1 member
719
720 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
721
722         * FieldAccessException.cs
723         * FormatException.cs
724         * InvalidCastException.cs
725         * InvalidOperationException.cs
726         * MemberAccessException.cs
727         * MethodAccessException.cs
728         * MissingFieldException.cs: Locale strings
729         * MissingMemberException.cs: Locale strings
730         * MissingMethodException.cs: Locale strings
731         * NotFiniteNumberException.cs
732         * NotImplementedException.cs
733         * NotSupportedException.cs
734         * NullReferenceException.cs
735         * ObjectDisposedException.cs
736         * OutOfMemoryException.cs
737         * OverflowExceptionException.cs
738         * PlatformNotSupportedException.cs
739         * RankException.cs: Added missing HResult overrides
740
741 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
742
743         * RuntimeTypeHandle.cs
744         * RuntimeMethodHandle.cs
745         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
746
747 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
748
749         * EventArgs.cs
750         * Exception.cs
751         * ExecutionEngineException.cs
752         * FieldAccessException.cs
753         * FormatException.cs
754         * GC.cs
755         * Guid.cs
756         * IndexOutOfRangeException.cs
757         * IntPtr.cs
758         * InvalidCastException.cs
759         * InvalidOperationException.cs
760         * InvalidProgramException.cs
761         * IServiceProvider.cs
762         * LoaderOptimization.cs
763         * LoaderOptimizationAttribute.cs
764         * MarshalByRefObject.cs
765         * Math.cs
766         * MemberAccessException.cs
767         * MethodAccessException.cs
768         * MissingFieldException.cs
769         * MissingMemberException.cs
770         * MissingMethodException.cs
771         * MultiCastDelegate.cs
772         * MulticastNotSupportedException.cs
773         * NonSerializedAttribute.cs
774         * NotFiniteNumberException.cs
775         * NotImplementedException.cs
776         * NotSupportedException.cs
777         * NullReferenceException.cs
778         * ObjectDisposedException.cs
779         * ObsoleteAttribute.cs
780         * OperatingSystem.cs
781         * OutOfMemoryException.cs
782         * OverflowExceptionException.cs
783         * PlatformID.cs
784         * PlatformNotSupportedException.cs
785         * Random.cs
786         * RankException.cs
787         * ResolveEventArgs.cs
788         * ResolveEventHandler.cs
789         * RuntimeFieldHandle.cs
790         * RuntimeMethodHandle.cs
791         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
792           removed excess usings
793
794 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
795
796         * SystemException.cs: Exceptions set the HResult
797         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
798         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
799
800 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
801
802         * TypedReference.cs
803         * TypeLoadException.cs
804         * TypeInitializationException.cs
805         * TypeCode.cs
806         * TimeZone.cs
807         * ThreadStaticAttribute.cs
808         * SystemException.cs
809         * STAThreadAttribute.cs
810         * StackOverflowException.cs
811         * SingleFormatter.cs
812         * Single.cs
813         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
814           removed excess usings
815
816 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
817
818         * UnauthorizedAccessException.cs: Exceptions set the HResult
819         * UInt64.cs: Implemented two missing methods
820         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
821         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
822
823 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
824
825         * WeakReference.cs
826         * Void.cs
827         * Version.cs
828         * ValueType.cs
829         * UnitySerializationHolder.cs
830         * UnhandledExceptionEventHandler.cs
831         * UnauthorizedAccessException.cs
832         * UIntPtr.cs
833         * UInt64.cs
834         * UInt32.cs
835         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
836
837 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
838
839         * Environment.cs: Bump corlib version.
840
841 2004-03-04  Jackson Harper  <jackson@ximian.com>
842
843         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
844         
845 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
846
847         * String.cs: Concat() fixed crash when one of the arguments is an object
848           whose ToString() method returns null.
849         * TypeLoadException.cs: Added some serialization fiels, needed for
850           compatibility with MS.NET.
851
852 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
853
854         * String.cs (Equals): Speed up this method by avoiding Array
855          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
856
857         This gives between 0x (for 1 char) and >2x (for large strings)
858         factor of improvement.
859
860         A big thanks to Miguel, who suggested the integer compares.
861
862 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
863
864         * MonoType.cs: use the binder in GetPropertyImpl.
865
866 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
867
868         * Math.cs: MonoStyled, replaced space with tabs,
869           speedup of some methods by avoiding method calls
870
871 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
872
873         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
874           (Moved from InternalCall to Managed code).
875
876 2004-02-17  Martin Baulig  <martin@ximian.com>
877
878         * MonoType.cs (GetConstructors): Renamed the interncall to
879         GetConstructors_internal(), made it internal and added a `Type
880         reflected_type' argument to it.
881         (GetEvents, GetFields): Likewise.
882         (GetMethodsByName): Added `Type reflected_type' argument.
883         (GetPropertiesByName): Likewise.
884
885 2004-02-16  Jackson Harper  <jackson@ximian.com>
886
887         * FloatingPointFormater.cs: Allow precision to be up to the number
888         of decimals without rounding.
889         
890 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
891
892         * Delegate.cs (Equals): Do not compare method_ptr, since it might
893         point to a trampoline.
894
895 2004-02-12  Jackson Harper  <jackson@ximian.com>
896
897         * AppDomainSetup.cs: If relative paths are used they should be
898         rooted in the temp directory.
899         
900 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
901
902         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
903
904 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
905
906         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
907         avoid an assert in the runtime.
908
909 2004-02-08  Duncan Mak  <duncan@ximian.com>
910
911         * Convert.cs (ToType): Always let a Convert.ChangeType call
912         succeed if the source object is already of the destination type.
913
914         Patch by Ian MacLean (ianm@activestate.com).
915
916 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
917
918         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
919
920 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
921
922         * Environment.cs: Bump corlib version.
923
924 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
925
926         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
927         fix bug #53461.
928
929 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
930
931         * Exception.cs: Changed ToString to remove the \n when no stack trace
932         is present (which fixed a unit test for SecurityException). Changed
933         all \n to Environment.NewLine.
934
935 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
936
937         * ContextBoundObject.cs: Removed TODO.
938
939 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
940
941         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
942         (double), which might round up.
943
944 2004-01-19  Jackson Harper <jackson@ximian.com>
945
946         * FloatingPointFormatter.cs: Use the default decimal digits count
947         if they are not specified. This fixes bug #52927.
948         
949 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
950
951         * Environment.cs: Bump version number.
952
953 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
954
955         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
956         uses IsAssignableFrom(o.GetType()), which is not always valid for 
957         transparent proxies (because GetType will not return the type of the remote
958         object if its assembly is not present).
959
960 2004-01-18  David Sheldon <dave-mono@earth.li>
961
962   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
963     integer mantassa. So: 1E+15, rather than 1.E+15.
964
965 2004-01-18  David Sheldon <dave-mono@earth.li>
966
967         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
968         even though docs say it should be an ArgumentNull. Two test cases now
969   pass. See also nickd's commit of 2003-12-24.
970
971 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
972
973         * Environment.cs: increased corlib version.
974
975 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
976
977         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
978         be reused because they could be modified. This fixes bug #52655.
979
980 2004-01-12  Patrik Torstensson
981
982         * Environment.cs: Bump corlib version number due to new StringBuilder
983         
984         * String.cs: New internal method to support the new StringBuilder that
985         uses the string as a buffer (until ToString is called)
986
987 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
988
989         * Environment.cs: Bump corlib version number for real this time.
990         
991         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
992         the runtime, so it can take into account the Culture etc.
993
994         * Environment.cs: Bump corlib version number.
995         
996 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
997
998         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
999         new parameter with the method name and a boolean for ignoring case.
1000         Removed some string comparisons no longer needed.
1001
1002 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1003
1004         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
1005         new parameter with the property name and a boolean for ignoring case.
1006         Fixes bug #52753.
1007
1008 2004-01-11  David Sheldon <dave-mono@earth.li>
1009
1010         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
1011         bug 52274.
1012
1013 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
1014
1015         * AppDomain.cs: Keep track of type resolve and assembly resolve 
1016         events in progress to prevent infinite recursion.
1017
1018 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
1019
1020         * Console.cs: Test for UTF-8 being present anywhere on the
1021         string, also do ToUpper instead of ToLower, which will work even
1022         around the ICU bug with different locales (#52065), and addresses #52101
1023
1024 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
1025
1026         * Environment.cs: Bump version.
1027
1028 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
1029
1030         * Type.cs (IsNotPublic): One would normally assume that
1031         IsNotPublic == !IsPublic, but this is not the case (note to MS,
1032         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
1033         correct for Nested types'
1034
1035 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
1036
1037         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
1038         even though docs say it should be an ArgumentNull. Sent email to MS
1039         about this "bug".
1040
1041 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
1042
1043         * Exception.cs: Several changes to make it compatible with MS.NET (needed
1044         for remoting interoperability): set a default value for hresult, added 
1045         initialization of class_name, serialization field RemoteStackTrace must
1046         be RemoteStackTraceString, added ser. field ExceptionMethod.
1047
1048         * IndexOutOfRangeException.cs: Added serialization constructor.
1049
1050 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
1051
1052         * Int32 (Parse):
1053           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
1054
1055 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
1056
1057         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
1058         user supplied no parameter info, but not when the user supplied an
1059         empty parameter list. This fixes IKVM.
1060
1061         * Environment.cs: Bump corlib version.
1062
1063 2003-12-19  Dick Porter  <dick@ximian.com>
1064
1065         * String.cs: Added Compare shortcut for length==0.
1066
1067 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
1068
1069         * Environment.cs: Bump corlib version.
1070
1071 2003-12-17  Dick Porter  <dick@ximian.com>
1072
1073         * String.cs: Fix StartsWith and EndsWith when the argument is the
1074         empty string.  Fixes bug 52283.
1075
1076 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
1077
1078         * Environment.cs (HasShutdownStarted): Implement.
1079
1080 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
1081
1082         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
1083         
1084         * Environment.cs: Bump version number.
1085
1086 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1087
1088         * DateTime.cs: don't bail out with that year out of range error on
1089         stuff like "MM/dd/yyyy HH:MM:ss".
1090
1091 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
1092
1093         * Environment.cs: Make it a const instead.
1094         
1095         * Environment.cs: Make version field static.
1096
1097 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
1098
1099         * Type.cs: Make DefaultBindingFlags protected.
1100
1101         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
1102         Add new GacPath property + its associated icall.
1103
1104 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
1105
1106         * DateTime.cs : Bugs fixed (41845, 51422)
1107         * MonoType.cs : Exception message changed 
1108
1109 2003-12-08  Martin Baulig  <martin@ximian.com>
1110
1111         * Type.cs (MakeByRefType): New public method.
1112
1113 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
1114
1115         * Environment.cs: Add a version number for the corlib-runtime interface
1116         to make it easier to diagnose problems resulting from a mismatch 
1117         between the two.
1118
1119 2003-12-08  Patrik Torstensson   <p@rxc.se>
1120
1121         * Type.cs (GetMethod): Check type arguments within array
1122         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
1123         (same signature but different classes (derived level)
1124
1125 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
1126
1127         * Type.cs (MakeArrayType): Add argument checking.
1128
1129 2003-12-06  Dick Porter  <dick@ximian.com>
1130
1131         * String.cs: Don't use CompareInfo for non-culture-sensitive
1132         IndexOf and LastIndexOf methods.
1133
1134 2003-12-06  Ravindra  <rkumar@novell.com>
1135
1136         * DateTime.cs: Made Parse(string, IFormatProvider) method to
1137         use second argument. Fixed bug #51464.
1138
1139 2003-12-04  Martin Baulig  <martin@ximian.com>
1140
1141         * Type.cs (Type.MakeArrayType): New public method.
1142
1143 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1144
1145         * Buffer.cs:
1146         (BlockCopy): make the exception thrown helpful.
1147
1148 2003-12-03  Dick Porter  <dick@ximian.com>
1149
1150         * String.cs: Calling Replace on an empty string returns itself.
1151
1152 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
1153
1154         * MonoType.cs: Get rid of get_type_info, use a separate icall for
1155         each property instead.
1156
1157 2003-12-02  Dick Porter  <dick@ximian.com>
1158
1159         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
1160         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
1161
1162 2003-12-01  Dick Porter  <dick@ximian.com>
1163
1164         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
1165         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
1166
1167 2003-11-28  Dick Porter  <dick@ximian.com>
1168
1169         * Type.cs: 
1170         * MonoType.cs: 
1171         * Enum.cs: 
1172         * Boolean.cs: Do string compares with the Invariant culture.
1173
1174 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
1175
1176         * Array.cs: make the enumerator ICloneable
1177
1178 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
1179
1180         * Decimal.cs (ToXXX): Call Convert.ToXXX.
1181
1182 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
1183
1184         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
1185         Implement Load(byte[]) methods.
1186
1187         * BadImageFormatException.cs: Fix ToString.
1188
1189 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
1190
1191         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
1192         GetConstructor, as done by MS.
1193
1194 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1195
1196         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
1197
1198 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
1199
1200         * TypeInitializationException.cs: Added missing serialization constructor.
1201
1202 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1203
1204         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
1205         ApplicationBase. The tests pass now with mono.
1206
1207 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
1208
1209         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
1210
1211 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1212
1213         * Environment.cs: use Directory in CurrentDirectory property.
1214         We were not throwing any exception when setting the directory to an
1215         invalid path.
1216
1217 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1218
1219         * Array.cs:
1220         * Delegate.cs: implemented 1.1 stuff.
1221
1222         * Enum.cs:
1223         * IntPtr.cs: removed extra attribute.
1224         * PlatformID.cs: added WinCE.
1225
1226 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1227
1228         * ValueType.cs:
1229         (Equals): compare the fields of structs too.
1230         (GetHashCode): combine the hash code of all the fields.
1231         Fixes bug #50901 (will remove the icall in a couple of days).
1232
1233 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1234
1235         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
1236
1237 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1238
1239         * DateTime.cs: handle century when we try to parse 4-digit years and
1240         only 2 digits are present. Fixes bug #49394.
1241
1242 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
1243
1244         * Console.cs: On utf-8 consoles, use unmarked output.
1245
1246 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1247
1248         * IAppDomainSetup.cs:
1249         * _AppDomain.cs: 
1250         * Object.cs:
1251         * Type.cs: Added missing attribute
1252
1253 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
1254
1255         * Environment.cs: Added internal method for getting the path to 
1256         machine.config.
1257         
1258 2003-11-12 Jackson Harper <jackson@ximian.com>
1259
1260         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
1261         enum. This fixes the SWF build.
1262         
1263 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
1264
1265         * PlatformID.cs: Remove Unix platform, we cant expose constants
1266         that are not in the framework.
1267
1268         * OperatingSystem.cs: Adjust for the breakage.
1269
1270         * RuntimeMethodHandle.cs: Fix signature.
1271
1272         * Double.cs: Fix signature of TryParse.
1273
1274         * String.cs (Concat (object, object, object, object)): Add missing method.
1275
1276         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
1277         in the .NET Framework.
1278
1279         * Enum.cs: Hide constructor.  
1280
1281         Fix ToUint16 to be explicitly implemented.
1282
1283         * Console.cs: Add couple of extra missing methods (Write and
1284         WriteLine overloaded)
1285
1286 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
1287
1288         * AppDomain.cs, Activator.cs: New unimplmented entry points from
1289         1.1 (Com activation related).
1290         
1291         * Exception.cs: Formatting.
1292         
1293         * IServiceProvider.cs: Add ComVisible (true).
1294
1295         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
1296
1297 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
1298
1299         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
1300           #50356.
1301
1302 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
1303
1304         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
1305         on MonoMethod instead of Invoke.
1306
1307 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
1308
1309         * DateTime.cs: Fixed Add* methods handling. Now it works properly
1310         with extreme values (there is a bug with Overflow and Underflow in
1311         long type).
1312
1313 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
1314
1315         * DateTime.cs: Fixed a few format bugs.
1316
1317 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
1318
1319         * AppDomain.cs (InternalPushDomainRef): New icalls.
1320
1321         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
1322         different appdomain.
1323
1324 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
1325
1326         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
1327
1328 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
1329
1330         * AppDomain.cs (IsFinalizingForUnload): Implement.
1331
1332         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
1333         to unmanaged code.
1334
1335 2003-10-25  Martin Baulig  <martin@ximian.com>
1336
1337         * MonoType.cs: Don't make this sealed.
1338
1339 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
1340
1341         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
1342
1343 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
1344
1345         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
1346         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
1347
1348 2003-10-22  Dick Porter  <dick@ximian.com>
1349
1350         * DateTime.cs: Handle '-' as a date separator when parsing formats.
1351
1352 2003-10-20  Duncan Mak  <duncan@ximian.com>
1353
1354         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
1355         and merge the two iterations into one.
1356
1357 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
1358
1359         * TypedReference.cs: Add new field used by the runtime.
1360
1361 2003-10-15  Martin Baulig  <martin@ximian.com>
1362
1363         * Type.cs (Type.DeclaringMethod): For a generic method's type
1364         parameter, return this method - otherwise, return null.
1365
1366 2003-10-14  Martin Baulig  <martin@ximian.com>
1367
1368         The generics API has changed in the spec since it was added here;
1369         these modifications make it match the spec again.
1370
1371         * Type.cs
1372         (GetGenericParameters): Renamed to `GetGenericArguments'.
1373         (HasGenericParameters): Renamed to `HasGenericArguments'.
1374         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
1375         (IsGenericTypeDefinition): New property.
1376         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
1377
1378         * MonoType.cs (ContainsGenericParameters): Implement this here;
1379         this is no interncall anymore.
1380
1381 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1382
1383         * Delegate.cs: add the method name to the exception when it cannot be
1384         bound.
1385         * Exception.cs: fix nullref in Source.
1386
1387 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
1388
1389         * Array.cs: Add argument checking to GetValue and SetValue.
1390
1391 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
1392
1393         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
1394         should not be TimeSpan.MaxValue, because it overflow.  Set this to
1395         be MAX_VALUE_TICKS
1396
1397 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1398
1399         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
1400         duplicate entry exception.
1401
1402 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
1403
1404         * DateTime.cs (ToString): Total rewrite, fixes #49358.
1405
1406 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
1407
1408         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
1409
1410 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1411
1412         * Enum.cs:
1413         (Equals): check that the object is an Enum before comparing the types.
1414
1415 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1416
1417         * Array.cs: reduced xsp allocated memory by 1/2.
1418
1419 2003-09-25  Martin Baulig  <martin@ximian.com>
1420
1421         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
1422         since it was identical to GetGenericTypeDefinition().
1423         (Type.IsGenericInstance): New property.
1424
1425 2003-09-24  Duncan Mak  <duncan@ximian.com>
1426
1427         * Math.cs (Abs): Fix double Locale.GetText bug reported by
1428         davejp@volny.cz. This fixes #48788.
1429
1430 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
1431
1432         * FloatingPointFormatter.cs: Add the necessary castings to char
1433         conversions.
1434
1435 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
1436
1437         * FloatingPointFormatter.cs: Make the method calls more functional
1438         for protecting the values from different threads (make it more
1439         thread safe).
1440
1441 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
1442
1443         * FloatingPointFormatter.cs: Fix a bug with the negative value of
1444         count parameter.
1445
1446 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
1447
1448         * FloatingPointFormatter.cs: Applied a lot of improvements in string
1449         construction, make use of Append/Insert with the "count" parameter.
1450     Thanks to Ben Maurer.
1451
1452 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
1453
1454         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
1455
1456         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
1457         last change.
1458
1459 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
1460
1461         * DoubleFormatter.cs: A few optimizations. Now, only one object
1462         is created to convert all double numbers.
1463
1464         * SingleFormatter.cs: A few optimizations. Now, only one object
1465         is created to convert all float numbers.
1466
1467         * FloatingPointFormatter.cs: Split the "number type parameters" from
1468         the "numver value and format parameters". The first ones are in the
1469         constructor and the others are in a method.
1470
1471 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
1472
1473         * Array.cs: Added argument checking to some NET_1_1 methods.
1474
1475 2003-09-04  Martin Baulig  <martin@ximian.com>
1476
1477         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
1478
1479 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1480
1481         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
1482         taking 'longs'. All tests pass.
1483
1484 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
1485
1486         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
1487         Source. Remove MonoTODO attributes (class is 100% done). Also
1488         passes all Rotor tests for Exception!
1489
1490 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
1491
1492         * Enum.cs: Remove [MonoTODO]'s that had been completed.
1493
1494 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1495
1496         * String.cs: fixed bug #47802.
1497
1498 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
1499
1500         * String.cs: Created method FormatHelper that does formatting,
1501         using a StringBuilder.
1502
1503 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1504
1505         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
1506
1507 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1508
1509         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
1510         methods under MS.
1511
1512 2003-08-11  Duncan Mak  <duncan@ximian.com>
1513
1514         * Environment.cs (Version): Return the same numbers as the MS
1515         implementation.
1516
1517 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
1518
1519         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
1520         replicated tests, and have a routine that does the heavy lifting.
1521
1522 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
1523
1524         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
1525           of DateTime.
1526         * Environment.cs: return $HOME for ApplicationData folder.
1527
1528 2003-08-04  Duncan Mak  <duncan@ximian.com>
1529
1530         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
1531         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
1532         floating point values. This fixes bug #46175.
1533
1534         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
1535         noted by c5n4kh6u02@sneakemail.com in
1536         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
1537
1538 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
1539
1540         * Double.cs: added icall Double.AssertEndianity.
1541
1542 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
1543
1544         * Type.cs, MonoType.cs: implemented generic-specific methods.
1545
1546 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
1547
1548         * Buffer.cs: Add new internal MemCopy call.
1549
1550         Removed the above.
1551
1552 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
1553
1554         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
1555         to icalls, to avoid special cases in some call conventions.
1556
1557 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1558
1559         * Enum.cs: added Serializable attribute.
1560
1561 2003-07-25  Duncan Mak  <duncan@ximian.com>
1562
1563         * AppDomain.cs (Equals):
1564         (GetHashCode): Removed because they do not need to be defined
1565         here.
1566
1567 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1568
1569         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
1570         cannot even get the type.
1571
1572 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
1573
1574         * Type.cs: Added generics stubs.
1575
1576 2003-07-23  Duncan Mak  <duncan@ximian.com>
1577
1578         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
1579         as values for NET_1_1.
1580         (GetFolderPath): Return the empty string ("") for values of
1581         SpecialFolder that have no corresponding equivalents in
1582         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
1583         and "$HOME" for SpecialFolder.Personal.
1584
1585         * IntPtr.cs (GetObjectData): Mark it as an interface
1586         implementation, instead of a public method.
1587
1588         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
1589
1590         * TypeLoadException.cs (GetObjectData):
1591         Create stubs for the fields that are being serialized.
1592
1593         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
1594
1595 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
1596         
1597         * Enum.cs: Fixed enum formatting. For flag enums, if one of
1598           the flags is unnamed, ToString() returns the integer value.
1599
1600 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
1601
1602         * Guid.cs: Fixed ToString (), was producing incorrect string.
1603
1604 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1605
1606         * AppDomainSetup.cs: fixed bug #46609.
1607
1608 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
1609
1610         * MonoType.cs: use an icall for IsPrimitiveImpl ().
1611
1612 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
1613
1614         * Guid.cs: faster ToString ().
1615
1616 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
1617
1618         * FloatingPointFormatter.cs: Few changes for get working Rotor
1619         tests.
1620
1621 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
1622
1623         * Type.cs (IsAssignableFrom): Implement this as an icall since the
1624         runtime already includes the neccessary logic.
1625
1626 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1627
1628         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
1629         if it's present and get the full path for non-Uri paths.
1630
1631 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
1632
1633         * DateTime.cs: Fixed formatting of fractions of second.
1634
1635 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
1636
1637         * Console.cs: Turn off buffering for the streams returned by
1638         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
1639
1640 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
1641
1642         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
1643           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
1644           a new random number (although it is not needed), while mono did not. 
1645           As a result, the sequence of random numbers could be different for the
1646           same seed.
1647
1648 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
1649
1650         * FloatingPointFormatter.cs: use dec_len2 as default precision.
1651
1652 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
1653
1654         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
1655           be done after the correspondig UTC offset has been applied.
1656
1657 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
1658
1659         * Object.cs: Object must have the Serializable attribute.
1660         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
1661           to the resulting date. Also fixed _ToString so now correctly formates the
1662           UTC offset.
1663
1664 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
1665
1666         * Enum.cs: fix race in cache (bug#41841).
1667
1668 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
1669
1670         * FloatingPointFormatter.cs: if the precision is not specified, use
1671         the default precision for the data type.
1672
1673 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
1674
1675         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
1676         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
1677
1678 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1679
1680         * MonoType.cs: don't throw nullref when the return type for a property
1681         is specified and the property doesn't have a get accessor.
1682
1683 2003-06-10  Duncan Mak  <duncan@ximian.com>
1684
1685         * Array.cs (CreateInstance): Fixed a typo. It should throw
1686         ArgumentNullException instead of ArgumentException.
1687
1688 2003-06-09  Duncan Mak  <duncan@ximian.com>
1689
1690         * Array.cs: Revert the last revert. I fixed it.
1691         (Sort): Put a try-catch block around qsort, and wrap whatever
1692         Exception we get into a InvalidOperationException.
1693
1694 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
1695
1696         * Array.cs: Revert last patch, it broke some other functionality.
1697                 
1698 2003-06-08  Duncan Mak  <duncan@ximian.com>
1699
1700         * Array.cs: Throw more exceptions. This fixes the errors we see
1701         from the Rotor testsuite.
1702
1703         (CreateInstance): Throw ArgumentNullException when the input are
1704         null. Throw ArgumentOutOfRangeException when bounds + length is
1705         greater than Int32.MaxValue.
1706         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
1707         the valid range of indices of array.
1708         (Sort): Throw InvalidOperationException when comparer is null and
1709         none of the elements in keys implements IComparable.
1710
1711 2003-06-08  Duncan Mak  <duncan@ximian.com>
1712
1713         * Array.cs (CreateInstance): Throw a TypeLoadException if the
1714         Length of the input array 'lengths' is greater than 255 so that we
1715         won't see the g_assert that is in mono_array_class_get in class.c.
1716
1717         This fixes bug #44304.
1718
1719 2003-06-05  Nick Drochak  <ndrochak@gol.com>
1720
1721         * UnitySerializataionHolder.cs: Cleanups according to class status page
1722
1723 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
1724
1725         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
1726         RuntimeTypeHandle.cs: implemented the needed stuff to handle
1727         vararg calls.
1728
1729 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
1730
1731         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
1732         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
1733         for Ben Maurer after review and testing.
1734
1735 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
1736         
1737         * Array.cs: Added better argument checking to Array.Sort ()
1738         * DBNull.cs: Made the conversions throw like they do in MS.
1739
1740 2003-05-24  Philip Van Hoof  <me@freax.org>
1741
1742         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
1743
1744 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
1745
1746         * FloatingPointFormatter.cs: Take care with the explicit precision
1747         and round the number to that precision.
1748
1749         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
1750
1751         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
1752
1753 2003-05-20  Philip Van Hoof <me@freax.org>
1754
1755         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
1756         Implemented.
1757
1758 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
1759
1760         * AppDomainSetup.cs: Added new field which is used to notify the
1761         runtime that the search path has changed.
1762
1763 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
1764
1765         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
1766         introduced the last change I've done.
1767
1768 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
1769
1770         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
1771         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
1772         behaving correctly).
1773         
1774 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
1775
1776         * FloatingPointFormatter.cs: Fixed little format mismatches.
1777
1778 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
1779
1780         * FloatingPointFormatter.cs: Fixed "-0" result emited.
1781
1782 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1783
1784         * AppDomain.cs: Added null argument check in Load().
1785         * Activator.cs: fixed bug #39926.
1786
1787 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1788
1789         * Enum.cs: fixed bugs #41522 and #42879.
1790
1791 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
1792
1793         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
1794         undocumented MS behaviour.
1795
1796 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1797
1798         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
1799         Jaime.
1800
1801 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1802
1803         * String.cs: fixed bug #41411 and another similar problem in
1804         LastIndexOf (string).
1805
1806 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1807
1808         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
1809         bug #42695.
1810
1811 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
1812
1813         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
1814         construction if the delegate list only has one element.
1815
1816 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
1817
1818         * Environment.cs: Changed the method GetFolderPath because it must
1819         return at least a directory name (not null).
1820
1821         * Convert.cs: In ToType, if the destination type is unknown, try to
1822         cast the value to object (then, the calling method will downcast it
1823         to the type it wants).
1824
1825 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1826
1827         * Enum.cs: fixed bug #41522.
1828
1829 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
1830
1831         * Enum.cs: protect with the lock also the lookup (bug #41841).
1832
1833 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
1834
1835         * MonoType.cs: allow a null name if InvokeMember is called with
1836         BindingFlags.CreateInstance set.
1837
1838 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1839
1840         * Enum.cs: reverted my previous patch.
1841
1842 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1843
1844         * Enum.cs: fixed bug #41841.
1845
1846 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1847
1848         * MonoType.cs:
1849         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
1850
1851 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
1852
1853         * FloatingPointFormatter.cs: Little fixes for get the same results
1854         as MS.NET and show a message when something goes wrong with the
1855         parser of Custom Formats.
1856
1857 2003-04-22  Nick Drochak  <ndrochak@gol.com>
1858
1859         * Double.cs (ToString):
1860         * Single.cs (ToString): Handle case where param is a CultureInfo.
1861
1862 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
1863
1864         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
1865         ValueType::Equals() icalls static non-virtual, so they can be called
1866         by the code in RuntimeHelpers.
1867
1868 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
1869
1870         * Delegate.cs (operator ==): Do not crash if the second argument
1871         is null.  Bug fix submitted by Juan Cri.
1872
1873 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
1874
1875         * Array.cs: Deleted the exception in Array.Initialize(), it looks
1876         like the method do nothing for C#, is still a MonoTODO until
1877         we find a compiler that uses that.
1878
1879 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
1880
1881         * Delegate.cs (Delegate): Seems like a typo, we were checking the
1882         a field rather than the argument 
1883
1884         * MonoType.cs: Make GetNestedType an external method implementation.
1885
1886 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1887
1888         * Enum.cs: fixed bug #41294.
1889
1890 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1891
1892         * DateTime.cs: fixes bug #40910, part 2.
1893
1894 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
1895
1896         * String.cs (Equals): avoid the internal call, code cleanups
1897
1898 2003-04-11  Alan Tam <Tam@SiuLung.com>
1899
1900         * Convert.cs: fixed bug #41085.
1901
1902 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
1903
1904         * AppDomain.cs: Added internal method for getting process guid.
1905
1906 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
1907
1908         * Array.cs: Little fix to compare () method.
1909         
1910 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
1911
1912         * String.cs (Equals): Add trivial optimization.
1913
1914 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1915
1916         * DateTime.cs: fixed bug #40910.
1917
1918 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
1919
1920         * Console.cs: Make stderr, stdout and stdin use synchronized
1921         versions of the their readers/writers.
1922
1923 2003-04-04  Dick Porter  <dick@ximian.com>
1924
1925         * Version.cs: Make operator== and operator!= cope with null
1926         objects.  Didn't change operator<, operator<=, operator> or
1927         operator>= because its not meaningful to use those to compare
1928         against null, and throwing a NullReferenceException is probably
1929         the best thing to do there anyway.
1930
1931         Fixes bug 40720.
1932
1933 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1934
1935         * AppDomain.cs: fixed InvalidCastException.
1936
1937 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
1938
1939         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
1940         type checks and let it decide whenever a fast copy is possible.
1941
1942 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1943
1944         * MonoType.cs:
1945         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
1946
1947 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
1948
1949         * Activator.cs (CreateInstance): Call GetConstructor with the right
1950         arguments so the nonPublic argument is handled correctly.
1951
1952 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1953
1954         * Type.cs: fixed bug #40123.
1955
1956 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
1957
1958         * FloatingPointFormatter.cs: Fixed some bugs for get the same
1959         results than MS.NET. Added simple error recovering, now ToString
1960         will return a general format if there is any exception in the
1961         process of formatting. This make the library more robust while the
1962         formatters are refined.
1963
1964 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
1965
1966         * FloatingPointFormatter.cs: Added support for group separators.
1967
1968 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
1969
1970         * Single.cs:
1971         * Double.cs: Apply changes of .ToString methods.
1972         * SingleFormatter.cs:
1973         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
1974         * FloatingPointFormatter.cs: New class. Implementation of double and
1975         single formatters. It is unified now and parametrized with precission
1976         values.
1977
1978 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
1979
1980         * AppDomain.cs: fixes bugs #39380 and #39331.
1981
1982 2003-03-06  Nick Drochak  <ndrochak@gol.com>
1983
1984         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
1985
1986 2003-03-04  Dick Porter  <dick@ximian.com>
1987
1988         * Single.cs:
1989         * Double.cs: Temporarily reverted the Double and Single ToString()
1990         change, because it broke nunit.
1991
1992
1993 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
1994
1995         * Double.cs: Changed ToString method. Added NumberFormatInfo support
1996         with DoubleFormatter class.
1997         * Single.cs: Changed ToString method. Added NumberFormatInfo support
1998         with SingleFormatter class.
1999         * DoubleFormatter.cs: New class with Double formatting functions.
2000         * SingleFormatter.cs: New class with Single formatting functions.
2001
2002 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
2003
2004         * Activator.cs: Added support for activation using activation attributes.
2005         * AppDomain.cs: Added internal method to get the default context from the runtime.
2006
2007 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
2008
2009         * DateTime.cs: FileTime is expressed in Universal time, and as such must
2010         be converted before subtracting the magic offset.
2011         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
2012         the timezone at the end) *must* be parsed by DateTime.Parse() for
2013         compatibility with Microsoft.
2014
2015 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2016
2017         * Attribute.cs:
2018         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
2019         #38238).
2020
2021         * IntPtr.cs: added serialization .ctor
2022
2023 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2024
2025         * AppDomain.cs: check for null in Unload and changed method name.
2026
2027 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2028
2029         * MonoCustomAttrs.cs: fixed bug #38238.
2030
2031 2003-02-17  Martin Baulig  <martin@ximian.com>
2032
2033         * Exception.cs (Exception.ToString): Print a newline between the
2034         exception message and the stack trace.
2035
2036 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2037
2038         * AppDomain.cs: implemented GetCurrentThreadId ().
2039
2040 2003-02-14  Patrik Torstensson
2041
2042         * Exception.cs: Fixed message output formating
2043
2044 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2045
2046         * Int32.cs:
2047         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
2048
2049 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
2050
2051         * Type.cs: IsClass should return false for Enumerations
2052
2053 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2054
2055         * MonoCustomAttrs.cs: return the correct array type in the short case.
2056         Fixes bug #37818.
2057
2058 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
2059
2060         * Math.cs: Fix a few methods (like Round) and add with comments the
2061         new methods: BigMul and DivRem that were in ECMA specs.
2062
2063 2003-02-07  Patrik Torstensson
2064
2065         * Exception.cs: Fixed formating
2066
2067 2003-02-05  Patrik Torstensson
2068
2069         * AppDomain.cs: Partly fixed the unload method 
2070         
2071 2003-02-04  Patrik Torstensson
2072
2073         * AppDomain.cs: Fixed lease issue with appdomain
2074
2075 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
2076
2077         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
2078           InitializeLifetimeService().
2079
2080 2003-02-03  Patrik Torstensson
2081
2082         * AppDomain.cs: New internalcalls for handling domain/context switches
2083         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
2084
2085 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2086
2087         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
2088         and ClearShadowCopyPath and fixed GetType ().
2089
2090         * Attribute.cs: clean up.
2091
2092         * Console.cs: removed UnixConsoleEncoding. Use Default.
2093
2094 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2095
2096         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
2097         GetCustomAttributes later.
2098
2099 2003-01-31  Patrik Torstensson
2100
2101         * Buffer.cs: Changed access level of BlockCopyInternal
2102
2103 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
2104
2105         * String.cs, IntegerFormatter.cs: use const where appropriate.
2106
2107 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2108
2109         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
2110         reporting.
2111
2112 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2113
2114         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
2115         The argument ICustomAttributeProvider can be of other types different
2116         from Type. Handle it.
2117
2118 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
2119
2120         * DateTime.cs: fix FromFileTime so the time returned by 
2121         File::GetLastModificationTime etc. is in the correct timezone.
2122
2123 2003-01-28  Patrik Torstensson
2124         * Exception.cs: reverted formating/endline changes (sorry guys)
2125
2126 2003-01-28  Patrik Torstensson
2127
2128         * MarshalByRefObject.cs: implemented GetObjectIdentity
2129         * Exception.cs: added support for remote exceptions
2130
2131 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2132
2133         * DateTime.cs: fixed bug #37225.
2134
2135 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2136
2137         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
2138
2139 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
2140
2141         * AppDomain.cs: Added DoTypeResolve method which will be called by
2142         the runtime to raise TypeResolve events.
2143
2144 2003-01-27  Duncan Mak  <duncan@ximian.com>
2145
2146         * Enum.cs (ToType): Implement this using Convert.ToType.
2147
2148 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
2149
2150         * Math.cs: Remove Pow's implementation body as it was wrong.  The
2151         C code does the right thing.  The code was trying to handle a
2152         number of cases, and that was incorrect.
2153
2154 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2155
2156         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
2157         bug #37113.
2158
2159 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2160
2161         * Enum.cs: added caching to GetInfo.
2162
2163 2003-01-23  Dick Porter  <dick@ximian.com>
2164
2165         * Environment.cs (System): Implemented ExitCode
2166
2167 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
2168
2169         * Type.cs (IsInstanceOfType): fixed regression caused by the change
2170         to IsSubclassOf().
2171
2172 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2173
2174         * MonoType.cs: re-added lines that were removed in the previous commit.
2175
2176 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
2177
2178         * Type.cs: corrected property IsSerializable. It should always return
2179         true for enums and delegates
2180         * MonoType.cs: added serialization support.
2181         * Delegate.cs: added serialization support.
2182         * DBNull.cs: added serialization support.
2183         * UnitySerializationHolder.cs: supports serialization of Assembly,
2184         MonoType and DBNull.
2185         * DelegateSerializationHolder.cs: added.
2186
2187 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2188
2189         * Exception.cs: changed default message to match MS one.
2190
2191 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
2192
2193         * String.cs: Fixed bug with CompareOrdinal
2194
2195 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2196
2197         * Enum.cs: implements IFormattable.
2198
2199 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2200
2201         * AppDomain.cs: implemented DoCallBack method.
2202         * MonoType.cs:
2203         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
2204         Public, Instance.
2205
2206         NUnit2 tests start moving.
2207
2208 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2209
2210         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
2211         instantiate an abstract class.
2212
2213 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2214
2215         * Type.cs:
2216         (IsSubclassOf): return false when null. Use != instead of Equals.
2217
2218 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2219
2220         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
2221
2222 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
2223
2224         * MonoType.cs: fixed Namespace property for nested types.
2225
2226 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
2227
2228         * MonoCustomAttrs.cs: create properly typed arrays when returning
2229         arrays of attributes of a given type.
2230
2231 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
2232
2233         * MonoType.cs: fixed MemberType property for nested types.
2234
2235 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2236
2237         * String.cs: fixed bug #36209.
2238
2239 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
2240
2241         * Activator.cs: implemented method GetObject.
2242
2243 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
2244
2245         * Activator.cs: Since the documentation indicates the method
2246         either succeeds or throws one of the listed exceptions, we weren't
2247         expecting that CreateInstance might be returning null.
2248
2249         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
2250
2251 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
2252
2253         * MarshalByRefObject.cs: implemented CreateObjRef.
2254
2255 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2256
2257         * DateTime.cs: fixed bug #30076.
2258         * TimeZone.cs: provide the parameter name in a exception.
2259
2260 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2261
2262         * DecimalFormatter.cs: fixed bug #35560.
2263
2264 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
2265
2266         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
2267
2268 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2269
2270         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
2271         nulls. Fixes #34909.
2272
2273 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2274
2275         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
2276         returns a non-null assembly.
2277
2278 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2279
2280         * MulticastDelegate.cs: make GetInvocationList work for more than 1
2281         delegate.
2282
2283 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2284
2285         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
2286         if this is the correct order of invocation.
2287
2288 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2289
2290         * Type.cs: changed the signature of internal_from_name. Modified
2291         the overloads of GetType to use it and check the typeName argument.
2292         Implemented FindInterfaces.
2293
2294 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2295
2296         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
2297         some obscure reasons (try make -f makefile.gnu using a corlib which has
2298         the modified version).
2299
2300 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
2301
2302         * String.cs (Concat): Reduce the number of compares required. 
2303
2304 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
2305
2306         * Activator.cs: throw a MissingMethodException if the default
2307         constructor is not found in CreateInstance.
2308
2309 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2310
2311         * String.cs:
2312         (Equals (str, str)): use 'as' instead of casting to object.
2313         (Equals (obj)): check the length of the strings (until now,
2314         "Hello".Equals ((object) "Hellow World!) was true!).
2315
2316 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2317
2318         * MonoType.cs: implemented GetEvent (name, flags).
2319
2320 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2321
2322         * AppDomain.cs: implemented a couple of methods called from the runtime
2323         to fire AssemblyLoad and AssemblyResolve events.
2324
2325 2002-10-31  Dick Porter  <dick@ximian.com>
2326
2327         * Environment.cs: MonoIO methods now have an error parameter
2328
2329 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
2330
2331         * Enum.cs: Added support for whitespaces in Enum:Parse().
2332
2333 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2334
2335         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
2336         internal call. Closes bug #32992.
2337
2338 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2339
2340         * Exception.cs: display the inner exception, if any, in ToString ().
2341
2342 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2343
2344         * Environment.cs: fixed StackTrace property.
2345
2346 2002-10-16  Nick Drochak  <ndrochak@gol.com>
2347
2348         * Enum.cs (Parse): Then fix the code so that it works too.
2349
2350 2002-10-15  Nick Drochak  <ndrochak@gol.com>
2351
2352         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
2353
2354 2002-10-12  Nick Drochak  <ndrochak@gol.com>
2355
2356         * IntegerFormatter.cs: Fix compiler warnings.
2357
2358 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
2359
2360         * Type.cs (GetConstructors): Use the correct flags.
2361
2362 2002-10-09  Nick Drochak  <ndrochak@gol.com>
2363
2364         * IntegerFormatter.cs: Suppress insignificant leading zeros
2365
2366 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
2367
2368         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
2369         <stonewell@21cn.com> to return also derived types.
2370
2371 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2372
2373         * Activator.cs: little fix in CreateInstance (Type, bool).
2374
2375 2002-09-19  Duncan Mak  <duncan@ximian.com>
2376
2377         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
2378         I18N/Common from building right now.
2379
2380 2002-09-19  Nick Drochak  <ndrochak@gol.com>
2381
2382         * Array.cs (CopyTo): Account for Object type and base (primitive) types
2383         * Type.cs (IsAssignableFrom): return false for a null parameter
2384
2385 2002-09-19  Nick Drochak <ndrochak@gol.com>
2386
2387         * Array.cs (CopyTo): Check that source type can be cast automatically
2388         to the destination type.
2389
2390 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2391
2392         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
2393         GetDefaultMembers.
2394
2395 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2396
2397         * Char.cs: implemented ToString (char)
2398         * IntegerFormatter.cs: made it internal.
2399
2400 2002-09-13  Nick Drochak  <ndrochak@gol.com>
2401
2402         * Enum.cs (Format): handle the "d" format for both signed and unsigned
2403         underlying types.
2404
2405 2002-09-12  Dick Porter  <dick@ximian.com>
2406
2407         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
2408         attribute, as there doesn't appear to be any struct
2409         layout-depending code here (and corcompare says it should be
2410         LayoutKind.Sequential)
2411
2412         * Decimal.cs: Stub out missing methods, add
2413         [DecimalConstantAttribute] to the constant fields (as shown by
2414         corcompare).
2415
2416         * LocalDataStoreSlot.cs: 
2417         * Environment.cs: 
2418         * Char.cs: 
2419         * Array.cs: Stub out missing methods.
2420
2421         * TypedReference.cs: 
2422         * ArgIterator.cs: Stub out
2423
2424         * AppDomainSetup.cs: 
2425         * AppDomain.cs: Stub out missing methods, add missing
2426         ClassInterface(ClassInterfaceType.None) attribute.
2427
2428 2002-09-12  Nick Drochak  <ndrochak@gol.com>
2429
2430         * Double.cs (ToString): Throw exception when "X" format is passed in.
2431
2432 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
2433
2434         * MonoType.cs: implemented Module property.
2435
2436 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
2437
2438         * MonoType.cs, Type.cs: implemented InvokeMember.
2439
2440 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
2441
2442         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
2443         type. Check the method signature matches.
2444
2445 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
2446
2447         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
2448
2449 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
2450
2451         * Console.cs: Specify an encoder, otherwise we will get the UTF8
2452         encoder that by default emits the byte markers.
2453
2454 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
2455
2456         * Delegate.cs: look also for non-public methods until we have the
2457         security checks in place.
2458
2459 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
2460
2461         * MonoType.cs: consider also the full name in GetInterface.
2462
2463 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
2464
2465         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
2466         GetMethodImpl using the binder.
2467         * Type.cs: GetConstructorImpl/GetConstructor fixes.
2468
2469 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
2470         * Enum.cs: Get rid of warning CS0162.
2471
2472 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
2473
2474         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
2475         actual value instead of public.
2476
2477         * LocalDataStoreSlot.cs: Make constructor internal.
2478
2479         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
2480         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
2481         instead of public.
2482
2483 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
2484         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
2485                    properly.
2486
2487 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2488
2489         * DateTime.cs: fixed buglet.
2490
2491 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
2492
2493         * MonoType.cs: speedup access to common data.
2494
2495 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2496
2497         * Double.cs: implemented TryParse.
2498
2499         * Math.cs: PowImpl is now private.
2500
2501         * MissingFieldException.cs: implemented Message.
2502
2503         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
2504
2505         * _AppDomain.cs: Uncommented ToString.
2506
2507 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2508
2509         * Type.cs:
2510         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
2511
2512 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2513
2514         * ArgumentException.cs: use the field instead of the property for
2515         param_name.
2516
2517         * ArgumentOutOfRangeException.cs: modified Message.
2518
2519         * DateTime.cs: 
2520         (_DoParse): throw out of range exception for year. Removed check
2521         for month (it's done in the constructor).
2522
2523 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
2524
2525         * Environment.cs: Implemented OSVersion property.
2526
2527 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
2528
2529         * Exception.cs: set stack_trace to null
2530
2531 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
2532
2533         * AppDomain.cs: implemented ToString().
2534
2535 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2536
2537         * AppDomain.cs: securityInfo can be null in CreateDomain.
2538
2539 2002-08-19  Dick Porter  <dick@ximian.com>
2540
2541         * MonoType.cs: Add a space before the Assembly name in
2542         AssemblyQualifiedName (needed for resource files so the MS runtime
2543         can load types)
2544
2545 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2546
2547         * AppDomain.cs: parameter name when throwing ArgumentNullException.
2548
2549         * ArgumentException.cs: modified Message to do what MS does.
2550
2551         * ArgumentNullException.cs: don't use {0} in message.
2552
2553         * Exception.cs: use Message property in ToString ().
2554
2555 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
2556
2557         * WeakReference.cs: Changed the constructor and GetObjectData
2558         method needed for ISerializable implementation in order to be
2559         compatible with SOAP generated by MS.
2560
2561 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
2562
2563         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
2564
2565 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
2566
2567         * Exception.cs (ToString): changed the ouput format.
2568
2569 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
2570
2571         * MonoType.cs: moved get_method icall to this class, we can
2572         remove it as soon someone provides a full featured GetMethodImpl.
2573
2574         * Type.cs: use GetMethodImpl everywhere.
2575
2576         * Delegate.cs: new CreateDelegate implementations.
2577
2578 2002-08-06  Tim Coleman <tim@timcoleman.com>
2579         * MonoType.cs: 
2580                 Fix bug #28582.  Now checks parameters for properties
2581                 in GetPropertyImpl.
2582
2583 2002-08-04  Nick Drochak  <ndrochak@gol.com>
2584
2585         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
2586
2587 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2588
2589         * String.cs:
2590         (FormatSpecifier): allow white space between the comman and the width
2591         specifier.
2592
2593 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2594
2595         * Int32.cs:
2596         * Int64.cs:
2597         * UInt32.cs:
2598         * UInt64.cs: fixed bug #28050. May be a MS bug?
2599
2600 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
2601
2602         * MonoType.cs: fix IsArrayImpl.
2603
2604 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2605
2606         * String.cs: make ToLower (culture) and ToUpper (culture) use the
2607         default ToLower and ToUpper and don't throw NotImplemented.
2608
2609 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
2610
2611         * Type.cs: make GettTypeCode an icall. Test implementation of
2612         GetMember().
2613
2614 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2615
2616         * AppDomainSetup.cs: implemented LoaderOptimization.
2617
2618 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2619
2620         * Activator.cs: some more intermediate results checking in
2621         in CreateInstance and CreateInstanceFrom and use GetConstructor and
2622         Invoke only with Type [] until the other overloaded versions work.
2623
2624 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2625
2626         * Activator.cs: reformatted. Implemented CreateInstance* methods
2627         that return ObjectHandle.
2628
2629         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
2630
2631 2002-07-03  Nick Drochak  <ndrochak@gol.com>
2632
2633         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
2634         the divisor is not) and avoid the icall, which seems to have a bug.
2635
2636 2002-07-03  Nick Drochak  <ndrochak@gol.com>
2637
2638         * Double.cs (CompareTo): Correctly handle the case where the instance
2639         is NaN. Also return 0 if the values are equal.
2640
2641 2002/07/03  Nick Drochak <ndrochak@gol.com>
2642
2643         * MissingMethodException: Add missing Message property
2644         * MissingMemberException: Add missing Message property
2645
2646 2002-06-30  Nick Drochak  <ndrochak@gol.com>
2647
2648         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
2649         subtraction trick, it doesn't work when the values have a diference of
2650         less than one.
2651
2652         * Single.cs (CompareTo): same
2653
2654 2002-06-27  Martin Baulig  <martin@gnome.org>
2655
2656         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
2657         constructor argument.  [FIXME: The implicit conversion to an
2658         unsigned integer doesn't work with mcs.]
2659
2660 2002-06-26  Martin Baulig  <martin@gnome.org>
2661
2662         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
2663         not `S = System'.  This file now compiles with mcs.
2664
2665         * String.cs: Removed the already ifdef-outed __arglist Concat function
2666         to make it compile with mcs.
2667
2668 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2669
2670         * IntegerFormatter.cs:
2671         (FormatParse.FormatNumber): fixed custom format for negative numbers.
2672
2673 2002-06-21  Martin Baulig  <martin@gnome.org>
2674
2675         * Double.cs: Replace the private `enum State' with constants since this
2676         will avoid some bigger headaches in mcs.
2677
2678 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
2679
2680         * TimeSpan.cs: do not pollute the namespace with the
2681         System.Parser name.
2682
2683 2002-06-18  Nick Drochak  <ndrochak@gol.com>
2684
2685         * ArgumentException.cs: Use the message given in the constructor when
2686         accessing the Message property.  Thanks to Dietmar for the help with 
2687         "base".
2688
2689 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
2690
2691         * MonoType.cs: GetField is now a InternalCall
2692
2693 2002-06-13  Nick Drochak  <ndrochak@gol.com>
2694
2695         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
2696         sortable format(s), e.g. "2002-02-25"
2697
2698 2002/06/12  Nick Drochak <ndrochak@gol.com>
2699
2700         * Random.cs (Next): Fix math error.  Return a number within the range.
2701
2702 2002-06-12  Nick Drochak  <ndrochak@gol.com>
2703
2704         * String.cs (IndexOf): Return -1 if start index is equal to string
2705         length.
2706
2707 2002-06-10  Duncan Mak  <duncan@ximian.com>
2708
2709         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
2710         (ToType): Added null field in conversionTable to avoid
2711         IndexOutOfRangeException. Changed what exceptions we throw to match
2712         the spec.
2713         
2714 2002-06-11  Nick Drochak  <ndrochak@gol.com>
2715
2716         * Int64.cs (Parse): Added unique strings to the messages where we throw
2717         a FormatException. Needed these to debug, so just left them in since
2718         they might be useful later. Fixed Currency parsing where we weren't
2719         looking at CurrencyDecimalSeparator, etc.
2720
2721 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
2722
2723         * DateTime.cs: fixes to pass tests M0 to M6:
2724                 if yy pattern then year values >= 30 are in 20th century
2725                 rfc1123 pattern is always in GMT, therefor useutc must be false
2726         made GetNow() internal static so it can be called from TimeZone.
2727         * TimeZone.cs: removed dependency on year 2002 from initialization of 
2728         current timezone.
2729
2730 2002-06-09  Duncan Mak  <duncan@ximian.com>
2731
2732         * Convert.cs (ToType): Rearranged what Exceptions we throw to
2733         match MS behavior.
2734
2735 2002-06-08  Duncan Mak  <duncan@ximian.com>
2736
2737         * Decimal.cs: Added support for the IConvertible interface.
2738
2739 2002-06-08  Martin Baulig  <martin@gnome.org>
2740
2741         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
2742         doesn't necessarily need to be of the enum's underlying type.
2743
2744 2002/06/07  Nick Drochak <ndrochak@gol.com>
2745
2746         * String.cs: Add [Serializable] to class
2747         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
2748
2749 2002-06-04  Nick Drochak  <ndrochak@gol.com>
2750
2751         * Double.cs (Parse): Recognize the group separator string, but still we
2752         don't check the format for the proper number of digits between
2753         separators. Also throw OverflowException when we get Pos or Neg
2754         Infinity from runtime.
2755
2756 2002-06-03  Duncan Mak  <duncan@ximian.com>
2757
2758         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
2759
2760 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
2761
2762         * Type.cs: fixed GetTypeCode.
2763
2764 2002-06-02  Duncan Mak  <duncan@ximian.com>
2765
2766         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
2767         cast from an int so that we throw OverFlowException correctly.
2768         
2769         (ToInt64): Use a new 64bit version of ConvertToBase.
2770         
2771         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
2772         and Int32.MaxValue).
2773
2774         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
2775
2776 2002-06-02  Nick Drochak  <ndrochak@gol.com>
2777
2778         * Convert.cs (ToSByte): Check for special value.
2779         * Single.cs (Parse): 
2780         * UInt16.cs (Parse):
2781         * UInt32.cs (Parse): Throw OverflowException if negative
2782
2783 2002-06-02  Duncan Mak  <duncan@ximian.com>
2784
2785         * Convert.cs (DBNull): Point it to DBNull.Value.
2786         (IsDBNull): Instead of checking typecodes, just check to see if
2787         it's the same as the DBNull field.
2788
2789 2002-06-02  Nick Drochak  <ndrochak@gol.com>
2790
2791         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
2792
2793 2002-06-02  Duncan Mak  <duncan@ximian.com>
2794
2795         * Char.cs (Parse): Simplify the Exception handling.
2796
2797         * Convert.cs (ToDecimal): Remove call to Math.Round () when
2798         converting from a float.
2799
2800 2002-05-30  Martin Baulig  <martin@gnome.org>
2801
2802         * MonoType.cs (GetInterface): Implemented.
2803
2804 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
2805
2806         * Activator.cs: implemented CreateInstance ().
2807
2808 2002-05-22  Duncan Mak  <duncan@ximian.com>
2809
2810         * Convert.cs (ConvertToBase): Added new 64bit version.
2811         (BuildConvertedString64): New 64bit version of
2812         BuildConvertedString.
2813
2814         This fixes bug 25068.
2815
2816         (ConvertFromBase): Added additional test for checking if the
2817         digits are valid. Thanks to Miguel for coming up with this test.
2818
2819         This fixes bug 25071.
2820         
2821 2002-05-21  Duncan Mak  <duncan@ximian.com>
2822
2823         * Convert.cs (ToType): Rearranged to fit the new layout of
2824         conversionTable.
2825
2826         (conversionTable): Rearranged to fit the layout of the
2827         System.TypeCode enum.
2828
2829         This should fix bug 25075.
2830         
2831 2002-05-21  Duncan Mak  <duncan@ximian.com>
2832
2833         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
2834         mixed up the two code paths, one for converting to a specific base
2835         (this case), another from converting from a foreign base to base10
2836         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
2837
2838         * Convert.cs (ToByte)
2839         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
2840         that we won't confuse FormatException with OverflowException.
2841
2842 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
2843
2844         * Environment.cs: CommandLine missed spaces between arguments.
2845         Implemented StackTrace. Returning MachineName in UserDomainName
2846         instead of null.
2847         
2848 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
2849
2850         * MonoCustomAttrs.cs: handle inherit argument.
2851
2852 2002-05-21  Nick Drochak  <ndrochak@gol.com>
2853
2854         * Math.cs (Pow): Change icall method name and insert parameter
2855         checks in for infinities and NaN.
2856
2857 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
2858
2859         * Double.cs (Parse): Reimplement by cleaning up the string first,
2860         and then passing to strtof in the mono runtime.
2861
2862         * Single.cs (Parse): Use the Double implementation and cast to
2863         float. 
2864
2865 2002-05-21  Nick Drochak  <ndrochak@gol.com>
2866
2867         * Math.cs 
2868                 (Ceiling): Check for "special" values
2869                 (Floor): Check for "special" values
2870                 (Round): Fix off-by-one error on decimal shifting
2871
2872 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
2873
2874         * DateTime.cs: ToString () using "G" format specifier 
2875
2876 2002-05-19  Martin Baulig  <martin@gnome.org>
2877
2878         * Convert.cs (FromBase64CharArray): Do correct exception handling.
2879
2880 2002-05-19  Martin Baulig  <martin@gnome.org>
2881
2882         * Convert.cs (FromBase64CharArray): Convert the char array using
2883         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
2884         a byte array.
2885
2886 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
2887
2888         * MonoType.cs: Style changes.
2889
2890         * Type.cs: Style changes.
2891
2892 2002-05-16  Piers Haken <piersh@friksit.com
2893
2894         * UInt64.cs: fix declaration of IConvertible.To* overrides.
2895
2896 2002-05-16  Nick Drochak  <ndrochak@gol.com>
2897
2898         * BitConverter.cs (ToString): Add parameter check for invalid start 
2899         index.
2900
2901         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
2902         now that StreamWriter uses buffering
2903
2904 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
2905
2906         * Double.cs: Oops.  Also handle exponents without finding a dot.
2907
2908 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2909
2910         * ChangeLog: removed empty entry at the top of the file.
2911
2912         * Int32.cs: made static functions used by Parse internal.
2913
2914         * Int64.cs:
2915         * UInt32.cs:
2916         * UInt64.cs: removed static fucntions used by Parse and use the ones
2917         in Int32.cs
2918
2919 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
2920
2921         * IServiceProvider.cs: added using System
2922
2923 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
2924
2925         * Single.cs: copied ToString() and Parse() methods from 
2926         Double to Single and modified a tiny bit for Single.  
2927         There is still a FIXME for Double and Single about
2928         passing the format and provider info to the icall too.
2929
2930 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2931
2932         * Int32.cs:
2933         * Int64.cs:
2934         * UInt32.cs:
2935         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
2936         Don't use a delegate to test for valid digits.
2937
2938 2002-05-01  Duncan Mak  <duncan@ximian.com>
2939
2940         * Convert.cs: 
2941         * Math.cs: Added missing CLSCompliant attributes where necessary.
2942         
2943 2002-04-30  Duncan Mak  <duncan@ximian.com>
2944
2945         * ArgumentException.cs (Message): 
2946         * ArgumentOutOfRangeException.cs (Message): Added.
2947
2948 2002-04-30  Nick Drochak  <ndrochak@gol.com>
2949
2950         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
2951
2952 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
2953
2954         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
2955
2956 2002-04-28  Duncan Mak  <duncan@ximian.com>
2957
2958         * DivideByZeroException.cs: Added missing serialization constructor.
2959
2960         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
2961
2962 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2963
2964         * Math.cs: fix Floor () and Round (). Closes #23960.
2965
2966 2002-04-27  Nick Drochak  <ndrochak@gol.com>
2967
2968         * Array.cs (IList.Contains): Should throw a RankException if this is 
2969         called on a Rank > 1 array. Not in the docs, but this is what the 
2970         MS.NET does.
2971
2972 2002-04-26  Duncan Mak  <duncan@ximian.com>
2973
2974         * MissingMemberException.cs: Made the message variable 'protected'
2975         instead of 'private', so that we can see it in
2976         MissingMethodException and MissingFieldException.
2977
2978         * MissingFieldException.cs:
2979         * MissingMethodException.cs: Added missing (string, string)
2980         constructor, and also the Message property.
2981
2982 2002-04-26  Martin Baulig  <martin@gnome.org>
2983
2984         * Enum.cs: Implemented the IConvertible methods.
2985
2986 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2987
2988         * SByte.cs: little change in Parse (string) to avoid incorrect
2989         OverflowException thrown (reported by nickd).
2990
2991 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
2992
2993         * ValueType.cs: Add Serializable attribute.
2994
2995         * String.cs: ifdef-out out the __arglist Concat function until I
2996         add support for that to mcs.
2997
2998 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
2999
3000         * AppDomain.cs (GetValue): usage of the correct icall (bug)
3001
3002 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
3003
3004         * GC.cs: implement most of the methods as icalls.
3005
3006 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3007
3008         * DecimalFormatter.cs (ToString): return correct value when the
3009         decimal number is 0.
3010
3011 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
3012         
3013         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
3014         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
3015
3016 2002-04-24  Nick Drochak  <ndrochak@gol.com>
3017
3018         * Double.cs (Parse): Handle case where there are no digits before the 
3019         decimal point, such as ".1".
3020
3021 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3022
3023         * Int32.cs:
3024         * UInt32.cs:
3025         * Int64.cs:
3026         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
3027
3028 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
3029
3030         * String.cs (Split): fixed invalid split of count 0 and 1.
3031         
3032 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
3033         
3034         * String.cs (LastIndexOf): fixed argument checking.
3035         * String.cs (Equals): made internal for performace.
3036
3037 2002-04-23  Nick Drochak  <ndrochak@gol.com>
3038
3039         * String.cs (Join): check argument and throw exception if needed
3040
3041 2002-04-23  Nick Drochak  <ndrochak@gol.com>
3042
3043         * String.cs (StartsWith): check argument and throw exception if needed
3044
3045 2002-04-22  Nick Drochak  <ndrochak@gol.com>
3046
3047         * String.cs (IndexOfAny): check arguments and throw exceptions as
3048         neccessary.  ALso remove some debug WriteLines.
3049
3050 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
3051
3052         * String.cs: use internal constructors
3053         buf fix in Concat.
3054
3055 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
3056
3057         * MonoType.cs: make GetElementType its own icall.
3058
3059 2002-04-18  Nick Drochak <ndrochak@gol.com>
3060
3061         * String.cs: Modified file. Re-add methods needed by the unit tests.
3062
3063 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
3064
3065         * String.cs: some code speedups and restored GetTypeCode().
3066
3067 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
3068
3069         * String.cs: New implementation using internal calls.
3070         
3071 2002-04-16  Nick Drochak  <ndrochak@gol.com>
3072
3073         * DecimalFormatter.cs: Trim off excess null characters from the string
3074         that decimal2string gives back.
3075
3076 2002-04-16  Nick Drochak  <ndrochak@gol.com>
3077
3078         * String.cs (SubString): revert my change.  I can't reproduce the
3079         problem anymore.
3080
3081 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3082
3083         * Attribute.cs: added GetHashCode and Equals.
3084
3085 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3086
3087         * Enum.cs: little improvements to Format ().
3088
3089 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
3090
3091         * String.cs: internalcall GetHashCode().
3092         * Array.cS: optimize access to elements.
3093
3094 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
3095
3096         * String.cs: make IndexOfAny() use an internalcall.
3097
3098 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3099
3100         * Int32.cs:
3101         * UInt32.cs:
3102         * Int64.cs: 
3103         * UInt64.cs: fixed error when testing for validity of flags.
3104
3105 2002-04-11  Nick Drochak  <ndrochak@gol.com>
3106
3107         * Double.cs: Use an internal call for ToString(). This is just a simple
3108         implementation to get away from throwing a NotImplementedException.
3109
3110 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3111
3112         * Int32.cs:
3113         * UInt32.cs:
3114         * Int64.cs: 
3115         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
3116         lupus.
3117
3118         * Int32.cs:
3119         * Int64.cs: throw an OverFlowException when parsing a string 
3120         containing a dot followed by any non '0' number.
3121
3122 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3123
3124         * Byte.cs:
3125         * UInt16.cs:
3126         * UInt32.cs:
3127         * UInt64.cs: added complex Parse ().
3128
3129 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3130
3131         * SByte.cs:
3132         * Int16.cs:
3133         * Int32.cs:
3134         * Int64.cs: added complex Parse ().
3135
3136 2002-04-09  Nick Drochak  <ndrochak@gol.com>
3137
3138         * Array.cs (BinarySearch): Add checks on paramters before using them
3139         and throw exceptions as needed.
3140
3141         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
3142         "G" format to "F" if so.
3143
3144 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
3145
3146         * MonoCustomAttrs.cs: return arrays of type Attribute[]
3147         instead of object[].
3148
3149 2002/04/09  Nick Drochak <ndrochak@gol.com>
3150
3151         * String.cs (Substring): Copy only non-null characters to the new
3152         string.
3153
3154 2002-04-09  Nick Drochak  <ndrochak@gol.com>
3155
3156         * IntegerFormatter.cs: Don't use a format character to indicate a
3157         custom format was passed in. It was using 'z' to indicate a custom
3158         format, but really it should throw a format exception if the user
3159         tries to use "z" as the format string. Now it does.
3160
3161         * Activator.cs: New File.
3162
3163 2002-04-08  Nick Drochak  <ndrochak@gol.com>
3164
3165         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
3166         applied to an enum. Need to handle the different possible integer
3167         types of an enum somehow.  Can anyone say generics?
3168
3169 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
3170
3171         * Convert.cs: switched the To*(object) methods to use
3172         IConvertible directly instead of calling ChangeType
3173
3174 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
3175
3176         * ValueType.cs: make Equals() an internalcall.
3177
3178 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
3179
3180         * Type.cs: also look for nested types in FindMembers.
3181         * MonoType.cs: make GetNestedTypes() an internalcall.
3182
3183 2002-04-05  Nick Drochak  <ndrochak@gol.com>
3184
3185         * Enum.cs (Parse): Handle different underlying types.
3186
3187 2002/04/04 Nick Drochak <ndrochak@gol.com>
3188
3189         * Enum.cs (IsDefined): Throw exception when type of value to look for
3190         is not the correct one.  Attempt to have it work with string values
3191         too, but not sure if the unit tests are getting that far yet.
3192
3193 2002-04-04  Nick Drochak  <ndrochak@gol.com>
3194
3195         * Decimal.cs: Fix a couple of typos.
3196
3197 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
3198
3199         * Enum.cs: the values array is of the enum and not of the underlying
3200         type. Updates and some bug fixes.
3201         * MonoType.cs: make the internalcall return FullName instead of the
3202         assembly qualified name.
3203         * Type.cs: make ToString () simply return FullName.
3204
3205 2002-04-03  Nick Drochak  <ndrochak@gol.com>
3206
3207         * Type.cs (GetTypeCode): provide some of the implementation for this
3208         method.  It's still too simplistic to be considered complete.
3209
3210 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
3211
3212         * Object.cs: fixed FieldGetter/FieldSetter signature
3213
3214 2002-04-02  Nick Drochak  <ndrochak@gol.com>
3215
3216         * Environment.cs: add MonoTODO's on parts that should have it.
3217
3218 2002-04-01  Nick Drochak  <ndrochak@gol.com>
3219
3220         * Enum.cs: added reality checks (check parameters to most methods that
3221         need them).
3222
3223 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
3224
3225         * Object.cs: added FieldGetter/FieldSetter
3226
3227 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3228
3229         * IntegerFormatter.cs: fixed initialization error in static
3230         constructor.
3231
3232 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
3233
3234         * Delegate.cs: added new field to store a trampoline function
3235
3236 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3237
3238         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
3239         make custom format strings work (not fully functional yet).
3240
3241 2002/03/28  Nick Drochak <ndrochak@gol.com>
3242
3243         * IntegerFormatter.cs: Change class from internal to public.  Add
3244         necessary [CLSCompliant(false)] attributes.
3245
3246 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
3247         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
3248         (was a typo)
3249
3250 2002-03-28  Nick Drochak  <ndrochak@gol.com>
3251
3252         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
3253
3254 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
3255
3256         * Console.cs: Modified to get std handles from MonoIO.
3257         * Environment.cs: removed PAL dependencies.
3258
3259 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
3260
3261         * String.cs (System): Removed internal enumeration, because
3262         bootstrapping the corlib at this point does not support
3263         enumerations. 
3264
3265         * IntPtr.cs: Temporary work-around until I fix the assembly
3266         attributes bug.
3267
3268 2002-03-24  Martin Baulig  <martin@gnome.org>
3269
3270         * Enum.cs (GetValues): According to the docu this is sorted after
3271         values, not names.
3272
3273         * String.cs (System): Removed enumeration, because it is pretty
3274         hard to support enumerations in /nostdlib mode for the core types.
3275
3276 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
3277
3278         * Array.cs: move error handling in the catch block.
3279         * MulticastDelegate.cs: remove == and != operators that were
3280         removed with the delegate changes (when you add stuff, please do not
3281         remove existing functionality!).
3282         * Type.cs: if a property is not found in a type, search for it
3283         in the parent types, too.
3284
3285 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
3286         
3287         * Math.cs: changed to use icall instead of PAL.
3288
3289 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
3290
3291         * Double.cs: added check for NaN (Bug [22082])
3292
3293 2002-03-19  Nick Drochak  <ndrochak@gol.com>
3294
3295         * Enum.cs (Equals): check for null and throw if it is.
3296         * Enum.cs (Format): check for null parameters and throw if necessary.
3297         This method still needs more argument checking.
3298
3299 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
3300
3301         * Enum.cs (Equals): check if Enums are of the same type
3302
3303 2002-03-18  Nick Drochak  <ndrochak@gol.com>
3304
3305         * Double.cs: Explicitly handle comparisons in CompareTo() for
3306         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
3307
3308         * Enum.cs(CompareTo): Check types of values before trying to compare.
3309         Throw exceptions if types are invalid or don't match.
3310
3311 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
3312
3313         * Array.cs: Add some extra debugging information.
3314
3315 2002-03-15  Nick Drochak  <ndrochak@gol.com>
3316
3317         * Array.cs: Added IList and IEnumerable. 
3318
3319 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
3320
3321         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
3322         NonCLSCompliant. 
3323
3324 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
3325
3326         * Delegate.cs (Equals): also compare method_ptr 
3327         (GetHashCode): returm method_ptr as hash
3328
3329 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
3330         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
3331         such as 42.ToString("0000000"), as these are (currently) not implemented
3332         in System.IntegerFormatter. TimeSpan luckely can do with Standard
3333         Numeric Format Strings, such as 42.ToString("D7").
3334
3335 2002-03-12  Duncan Mak  <duncan@ximian.com>
3336
3337         * FieldAccessException.cs: 
3338         * MethodAccessException.cs: 
3339         * PlatformNotSupportedException.cs: Inherit from
3340         MemberAccessException, not SystemException.
3341
3342         * ObsoleteAttribute.cs: Made Message and IsError properties
3343         instead of fields.
3344
3345 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
3346
3347         * GC.cs: make SuppressFinalize() a nop.
3348         * Delegate.cs: fix == operator.
3349
3350 2002-03-13  Nick Drochak  <ndrochak@gol.com>
3351
3352         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
3353         runtime that goes with this patch.
3354
3355 2002-03-10  Martin Baulig  <martin@gnome.org>
3356
3357         * Int32.cs (Parse): Correctly parse negative numbers.
3358
3359 2002-03-08  Martin Baulig  <martin@gnome.org>
3360
3361         * String.cs (Split): Really fix it this time. Also adding several new
3362         testcase to the testsuite.       
3363
3364 2002-03-08  Martin Baulig  <martin@gnome.org>
3365
3366         * Array.cs (Copy): Optimized: removed duplicate null check, removed
3367         two duplicate GetLowerBound() calls and one duplicate IsValueType.
3368
3369 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
3370
3371         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
3372         * String.cs: use the dumb code for IndexOf(string): this is worth
3373         15-20 % speedup in mcs compile with mint.
3374
3375 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
3376
3377         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
3378
3379 2002-03-07  Martin Baulig  <martin@gnome.org>
3380
3381         * String.cs (Join): Throw an ArgumentNullException.
3382         (LastIndexOf (string,int,int)): This method does a backwards search,
3383         so startIndex points to the end of value, not to its beginning. Don't
3384         throw an exception if startIndex equals this.Length. Always return -1
3385         if startIndex is smaller than the length of value.
3386         (Replace (string,string)): Replace all occurences of oldValue.
3387         If newValue is null, all occurences of oldValue are to be removed.
3388         (Split (char[],int)): Return an empty array if maxCount is zero, throw
3389         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
3390         elements, not maxValue+1.
3391
3392 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
3393
3394         * MonoType.cs: make GetEvents() an internal call.
3395         * MulticastDelegate.cs: copy the passed in array.
3396
3397 2002-03-06  Martin Baulig  <martin@gnome.org>
3398
3399         * Array.cs (Copy): Use FastCopy when appropriate and do correct
3400         exception handling.
3401
3402 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
3403         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
3404         some of the failures found be new tests (see ChangeLog in 
3405         Test/System). Comments added to this method, based on
3406         the representation invariant of this class, that (try to) explain
3407         why it now should be correct.
3408
3409 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
3410
3411         * Int64.cs (Parse): bug fix for max. negative value. 
3412
3413 2002-03-07  Nick Drochak  <ndrochak@gol.com>
3414
3415         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
3416         I need to understand what the difference between the attribute and
3417         the interface is.
3418
3419 2002-03-06  Martin Baulig  <martin@gnome.org>
3420
3421         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
3422         an InvalidCastException if the widening conversion failed. See
3423         testcases #M94-#M96.
3424
3425         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
3426         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
3427         for this.
3428
3429         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
3430         (Copy): Actually allow copying multi-dimensional arrays.
3431
3432 2002-03-05  Duncan Mak  <duncan@ximian.com>
3433
3434         * Convert.cs:
3435         (DBNull) Added the missing field.
3436         (IsDBNull) Fixed typo.
3437         (ToByte (string, int)) Implemented.
3438         (ToString (byte, int)) Implemented.
3439         (ConvertToBase)
3440         (BuildConvertedString) internal functions used for converting values to
3441         a specific base.
3442
3443         * Int16.cs: 
3444         * Int32.cs:
3445         * Int64.cs:
3446         * Single.cs:
3447         * UInt16.cs: 
3448         * UInt32.cs: Implemented the IConvertible interface.    
3449
3450         * CharEnumerator.cs: Renamed to variables to be clearer and
3451         changed some of the tests to conform to the 1.0 spec.
3452
3453 2002-03-06  Martin Baulig  <martin@gnome.org>
3454
3455         * Array.cs (Copy): Calculate absolute array position here and use
3456         GetValueImpl() and SetValueImpl() with that position. We can now
3457         copy multi-dimensional arrays.
3458         (CopyTo): Small bug fix.
3459
3460 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
3461
3462         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
3463         Nick (See VersionTest.cs).
3464         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
3465         error comparing the current position (idx) against the length of the
3466         string iterated and it set idx to an unrecognized special value (-2)
3467
3468 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
3469
3470         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
3471         to do this dirty work, but someone has to do it (and I need it to pass
3472         the "200 sample tests compiled on linux" mark).
3473
3474 2002-03-06  Nick Drochak  <ndrochak@gol.com>
3475
3476         * Attribute.cs
3477         * DecimalFormatter.cs
3478         * Delegate.cs
3479         * Double.cs
3480         * GC.cs
3481         * Int16.cs
3482         * Int32.cs
3483         * MonoType.cs
3484         * RuntimeMethodHandle.cs
3485         * RuntimeTypeHandle.cs
3486         * String.cs
3487         * Type.cs:
3488                 Add [MonoTODO]'s to places where we currently throw a
3489                 NotImplementedException.
3490
3491 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
3492
3493         * Int16.cs (Parse): do not overflow on max negative value
3494
3495         * Int32.cs (Parse): do not overflow on max negative value
3496
3497 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
3498
3499         * Type.cs: fixed IsClass.
3500         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
3501         IsByRefImpl. Added GetInterfaces().
3502         * IServiceProvider.cs: compilation fix.
3503
3504 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
3505
3506         * Array.cs: allow copying an empty array to an empty array.
3507
3508 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
3509
3510         * String.cs: fixed LastIndexOf (string) to do a bit of argument
3511         checking.
3512
3513 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
3514         * Version.cs: many fixes to failures found by the newly created
3515         test cases for this class. Specifically, the CompareTo member
3516         returned wrong values due to the use of Int32.MaxValue as a special
3517         value indicating an "undefined" version component. Also implemented the
3518         missing operators (==, <, >, etc.), one missing constructor and
3519         and some exception throwing.
3520
3521 2002-03-04  Nick Drochak  <ndrochak@gol.com>
3522
3523         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
3524         * Attribute.cs: Add missing attributes: Serializable and
3525         AttributeUsage(AttributeTargets.All)
3526
3527 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
3528
3529         * MonoType.cs: implemented GetConstructors(), GetFields(),
3530         GetMethods(), GetProperties().
3531         * Object.cs: added debugging icall obj_address().
3532         * Type.cs: fixed the binding flags for some Get* methods.
3533         Implemented FindMembers() as calls to the specific GetMember
3534         methods.
3535
3536 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
3537         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
3538         should give an exception for n>=s.Length.
3539
3540 2002-03-01  Martin Baulig  <martin@gnome.org>
3541
3542         * Array.cs: More argument checking and bug fixing.
3543
3544 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
3545
3546         * BitConverter.cs: Indentation match
3547
3548         * AppDomain.cs: Added MonoTODOs to this too.
3549
3550         * Buffer.cs: Added MonoTODOs to this.
3551
3552 2002-03-01  Martin Baulig  <martin@gnome.org>
3553
3554         * Array.cs: Added argument checking to all methods where it was missing.
3555
3556 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
3557
3558         * BitConverter.cs: Fixed bugs in ToString methods
3559
3560 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
3561
3562         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
3563
3564 2002-03-01  Nick Drochak  <ndrochak@gol.com>
3565
3566         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
3567         ArgumentOutOfRangeException like the docs say.
3568
3569 2002-03-01  Martin Baulig  <martin@gnome.org>
3570
3571         * Enum.cs (CompareTo): Correctly override this method from IComparable.
3572
3573         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
3574
3575 2002-02-28  Martin Baulig  <martin@gnome.org>
3576
3577         * String.cs: This file now passes the testsuite on Linux :-)
3578         
3579         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
3580         make them private and provide C# wrappers which do proper argument checking.
3581
3582         * String.cs (Format): Correctly handle escaped brackets.
3583
3584         * String.cs (_CompareChar): New internal function which compares two chars.
3585         (_Compare): Provide an internal compare method which can do all sorts of
3586         comparision and call it from all the Compare() methods. Also fixed a lot of
3587         bugs here, this code now actually passes the testsuite.
3588
3589 2002-02-28  Duncan Mak  <duncan@ximian.com>
3590
3591         * Convert.cs: Added the missing methods. The new class status page
3592         kicks ass, it even found my typos! Woohoo!
3593         (ConvertFromBase): Moved the Exception throwing in here and
3594         removed the other occurances so it's all centralized now.
3595         (ISDBNull): Implemented.
3596         (GetTypeCode): Implemented.
3597
3598 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
3599         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
3600         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
3601         states that a lacking format should be interpreted as "N".  
3602         Also added [Serializable] attribute
3603         * TimeSpan.cs: some formatting and added the [Serializable] attribute
3604
3605 2002-02-26  Duncan Mak  <duncan@ximian.com>
3606
3607         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
3608
3609 2002-02-26  Martin Baulig  <martin@gnome.org>
3610
3611         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
3612         fields of the interncall GetTimeZoneData.
3613
3614         * DateTime.cs: Implemented Parse and fixed a few bugs.
3615
3616         * String.cs (TrimStart): Small fix.
3617
3618 2002-02-26  Martin Baulig  <martin@gnome.org>
3619
3620         * DateTime.cs: ParseExact is now fully functional.
3621
3622         * String.cs (TrimEnd): Small fix.
3623
3624 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
3625         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
3626         missing for about six months.
3627
3628 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
3629
3630         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
3631
3632 2002-02-26  Martin Baulig  <martin@gnome.org>
3633
3634         * DateTime.cs: Miguel already committed this, but there was still a
3635         ChangeLog entry for this missing ....
3636         We're now reusing functionality from TimeSpan, printing dates is
3637         fully implemented, currently working on parsing.
3638
3639         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
3640         runtime for this.
3641
3642 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
3643
3644         * MonoType.cs: disable constructor.
3645         * Object.cs: make GetType() an internalcall.
3646         * Type.cs: added correct bindingflags to GetMethods ().
3647         All such calls should be reviewed to use the correct flags.
3648
3649 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
3650
3651         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
3652         argument.
3653
3654 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
3655
3656         * Type.cs: implemented IsAssignableFrom.
3657
3658 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
3659         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
3660         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
3661         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
3662         The former is documented by Microsoft. The latter is how they
3663         actually implemented it in mscorlib:-)
3664
3665 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
3666
3667         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
3668         runtime.
3669         * MonoType.cs: Implemented custom attributes methods.
3670
3671
3672 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
3673         * Guid.cs: 
3674
3675 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
3676
3677         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
3678         runtime.
3679         * MonoType.cs: Implemented custom attributes methods.
3680
3681 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
3682
3683         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
3684
3685 2002-02-19  Duncan Mak  <duncan@ximian.com>
3686
3687         * Convert.cs: Finished up the missing methods in Convert. Added a
3688         new private method ConvertFromBase.
3689
3690 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
3691
3692         * String.cs: impl. IConvertible interface
3693
3694 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
3695         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
3696
3697 2002-02-18  Duncan Mak  <duncan@ximian.com>
3698
3699         * Convert.cs: Changed from using Type.GetType (string) to just
3700         typeof (). Probably will speed things up a bit?         
3701
3702 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
3703
3704         * Array.cs:         
3705         1. Fix for GetUpperBound to return correct values
3706         2. made some Properties virtual
3707         3. Adds IsFixedSize and IsReadOnly properties.
3708         4. changes CreateInstance(Type,int[],int[]) to throw Exception
3709         when third arg is null. InternalCall CreateInstance changed to  
3710         CreateInstanceImpl
3711         5. Fixed array.GetUpperBound at a couple of places
3712         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
3713         7. Added two FIXME's in BinarySearch functions.
3714
3715 2002-02-17  Duncan Mak  <duncan@ximian.com>
3716
3717         * TimeZone.cs:  Applied the rest of Ajay's patch for    
3718         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
3719         it works!
3720
3721 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
3722         * Guid.cs: added stub for Guid(string) ctor
3723
3724 2002-02-17  Duncan Mak  <duncan@ximian.com>
3725
3726         * Convert.cs: Near-complete implementation of Convert.cs
3727
3728         Added all the To* methods taking (object) and
3729         (object, IFormatProvider) as parameters.
3730
3731         Added [CLSCompliant (false)] attributes to methods dealing with
3732         unsigned types.
3733
3734         Added the missing section on converting to and from DateTime. Only
3735         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
3736
3737 2002-02-16  Duncan Mak  <duncan@ximian.com>
3738
3739         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
3740         make IsDaylightSavingTime (DateTime) call 
3741         IsDaylightSavingTime (DateTime, DaylightTime).  
3742         
3743         Added internal class CurrentTimeZone from Ajay. It needs more work
3744         to fill in the appropriate internal calls.
3745         
3746 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
3747
3748         * Type.cs: fix IsClass.
3749
3750 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
3751
3752         * String.cs: fix Trim().
3753
3754 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
3755
3756         * String.cs: fix more off by one errors.
3757
3758 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
3759
3760         * MonoType.cs: fix IsValueTypeImpl.
3761         * Type.cs: fix IsEnum. Implement Equals methods.
3762
3763 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
3764
3765         * Int32.cs: implement IConvertible interface.
3766         
3767 2002-02-12  Duncan Mak  <duncan@ximian.com>
3768
3769         * TimeZone.cs: Implemented and added to CVS.
3770
3771 2002-02-11  Duncan Mak  <duncan@ximian.com>
3772
3773         * Convert.cs: Implemented the ChangeType () methods.
3774
3775 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
3776
3777         * Array.cs: make Clone() an internal call.
3778
3779 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
3780         * Changed Guid.NewGuid so that it can use both System.Random and 
3781           System.Security.Cryptography.RandomNumberGenerator
3782
3783 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
3784         * First version of Guid.NewGuid
3785
3786 2002-02-08  Duncan Mak  <duncan@ximian.com>
3787
3788         * RuntimeArgumentHandle.cs: Added to CVS.
3789
3790 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
3791
3792         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
3793         UnhandledExceptionEventHandler.cs: added delegates.
3794
3795 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
3796
3797         * MarshalByRefObject.cs: add ToString () method
3798         (apparently needed by nunit).
3799         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
3800         by it in the runtime.
3801
3802 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
3803         
3804         * String.cs (Format): implemented
3805
3806 2002-02-07  Duncan Mak  <duncan@ximian.com>
3807         
3808         * DuplicateWaitObjectException:
3809         * InvalidCastException:
3810         * NotImplementedException:
3811         * NotSupportedException:
3812         * NullReferenceException:
3813         * OutOfMemoryException:
3814         * OverflowException:
3815         * RankException:
3816         * StackOverflowException.cs:
3817         * UnauthorizedAccessException: Added missing constructor used for serialization.
3818
3819 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
3820
3821         * String.cs (System.Compare): bug fix 
3822
3823 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
3824
3825         * Enum.cs (Parse,  GetHashCode): impl. 
3826
3827 2002-02-05  Duncan Mak  <duncan@ximian.com>
3828
3829         * DBNull.cs: This is my first crack at the DBNull class. I think I
3830         actually got most of the IConvertible methods right, but I haven't
3831         done the research to test whether or not this is the correct
3832         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
3833
3834         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
3835
3836 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
3837
3838         * Enum.cs: added more functionality (GetName, ToObject, Equals)
3839
3840 2002-01-31  Duncan Mak  <duncan@ximian.com>
3841
3842         * InvalidOperationException.cs:
3843         * NotFiniteNumberException.cs:
3844         * ObjectDisposedException.cs:
3845         * TypeInitializationException.cs: Added missing bits for serialization/
3846         
3847         * AppDomainUnloadedException.cs:
3848         * ApplicationException.cs:
3849         * ArgumentOutOfRangeException.cs:
3850         * ArithmeticException.cs:
3851         * ArrayTypeMismatchException:
3852         * BadImageFormatException.cs:
3853         * Exception.cs:
3854         * MissingMemberException.cs:
3855         * TypeLoadException.cs: Added missing bits for serialization.
3856
3857 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
3858         * Guid.cs: implemented everything but Guid.NewGuid
3859
3860 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
3861
3862         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
3863         to have it in this interface and it screws up the method vtable setup.
3864
3865 2002-01-28  Andrei Zmievski <andrei@php.net>
3866
3867         * Double.cs: implemented IConvertible interface.
3868
3869 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
3870
3871         * ArgumentException.cs: Implement serialization constructor.
3872         (GetObjectData): Implement serializer.
3873         
3874         * ArgumentNullException.cs: Implement serialization constructor.
3875
3876         * Exception.cs: Implement serialization constructor.
3877         (GetObjectData): Implement serializer.
3878
3879 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
3880
3881         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
3882
3883 2002-01-23  Duncan Mak  <duncan@ximian.com>
3884
3885         * EntryPointNotFoundException.cs:
3886         * FormatException: Added missing constructor and related bits.
3887
3888         * TypeLoadException: Added missing constructor, methods and properties.
3889
3890 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
3891
3892         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
3893         manually getting the enumerator.
3894
3895         (AppDomain.AppDomain): Prime the loaded assemblies with the
3896         assemblies loaded by the runtime in our behalf.
3897
3898         * AppDomainSetup.cs: Remove private keyword, that is the default.
3899         Add a new property DisallowPublisherPolicy.
3900
3901         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
3902
3903 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
3904
3905         * MonoType.cs, Type.cs: many updates, corrected implementation,
3906         completed stubs.
3907
3908 2002-01-20  Andrei Zmievski <andrei@php.net>
3909
3910         * Byte.cs:
3911         * Char.cs: implemented IConvertible interface.
3912
3913         * Boolean.cs: use our own ToString() method directly.
3914
3915 2002-01-20  Duncan Mak  <duncan@ximian.com>
3916
3917         * Files I commited recently: Fixed indentation style.
3918
3919 2002-01-20 Nick Drochak  <ndrochak@gol.com>
3920
3921         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
3922         and delegates too. Added the appropriate usage flags.
3923
3924 2002-01-18  Duncan Mak  <duncan@ximian.com>
3925
3926         * CharEnumerator.cs: Implemented.
3927         * String.cs (System): Fixed the GetEnumerator () method(s).
3928
3929         * ObsoleteAttribute.cs:
3930         * STAThreadAttribute.cs:
3931         * MTAThreadAttribute.cs:
3932         * ThreadStaticAttribute.cs:
3933         * LoaderOptimizationAttribute.cs:
3934         * PlatformNotSupportedException.cs:
3935         * LoaderOptimization.cs: Added to CVS.
3936
3937 2002-01-18  Duncan Mak  <duncan@ximian.com>
3938
3939         * AppDomainUnloadedException.cs:
3940         * MethodAccessException.cs:
3941         * ContextMarshalException.cs:
3942         * CannotUnloadAppDomainException.cs:
3943         * DllNotFoundException.cs:
3944         * EntryPointNotFoundException.cs:
3945         * FieldAccessException.cs:
3946         * TypeUnloadedException.cs:
3947         * MissingFieldException.cs: Added to CVS.
3948
3949         * ApplicationException.cs: 
3950         * MemberAccessException.cs:
3951         * MissingMemberException.cs
3952         * MissingMethodException.cs:
3953         * SystemException.cs: Added [Serializable] attribute.
3954
3955         * Exception.cs: Added [Serializable] attribute, made properties
3956         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
3957         spec.
3958
3959         * ContextStaticAttribute.cs: Added [Serializable] attribute and
3960         put in the missing constructor.
3961
3962         * Environment.cs: Commented out references to
3963         EnvironmentPermissionAttribute, because they're just stubbed out
3964         right now and has no implementation.
3965
3966 2002-01-16  Andrei Zmievski <andrei@php.net>
3967
3968         * Boolean.cs: implemented IConvertible interface
3969
3970 2002-01-15  Nick Drochak  <ndrochak@gol.com>
3971
3972         * ResolveEventArgs.cs: class should derive from EventArgs.
3973
3974 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
3975
3976         * String.cs (System): Use DefaultMemberName for the String class.
3977
3978 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
3979
3980         * String.cs: use IndexerName in index char accessor.
3981
3982 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
3983
3984         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
3985         * String.c: eliminate 64k+ method calls in search.
3986         * Type.cs: handle byref and array types in ToString ().
3987
3988 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
3989
3990         * Guid.cs: created first version
3991
3992 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
3993
3994         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
3995
3996 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
3997
3998         * MulticastDelegate.cs: add == and != operator stubs.
3999         * String.cs: check for null in == operator.
4000         * Type.cs: use a virtual method to get TypeAttributes.
4001
4002 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
4003         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
4004
4005 2002-01-09  Nick Drochak  <ndrochak@gol.com>
4006         
4007         * Environment.cs: Comment out Security attribute and put a MonoTODO
4008         there as a reminder.  We need mcs magic to handle security attributes in
4009         corlib.
4010
4011 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
4012         * Created IAppDomainSetup.cs
4013
4014 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
4015         * Created System._AppDomain interface in _AppDomain.cs
4016
4017 2002-01-06  Nick Drochak  <ndrochak@gol.com>
4018
4019         * ResolveEventArgs.cs: New File, completely implemented! ;)
4020
4021 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
4022
4023         * Enum.cs: dummy ToString impl.
4024         * String.cs: dummy format implementations to get compiler errors
4025         somewhat working.
4026         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
4027
4028 2002-01-05  Ravi Pratap  <ravi@ximian.com>
4029
4030         * TODOAttribute.cs : Augment some more; provide two constructors
4031         with support for a comment too.
4032
4033 2002-01-05  Nick Drochak  <ndrochak@gol.com>
4034
4035         * Uncommented those MonoTODO's now that Ravi's got
4036         the class in there
4037
4038 2001-01-04  Ravi Pratap  <ravi@ximian.com>
4039
4040         * TODOAttribute.cs : Actually add this time ;-)
4041
4042         Change name to MonoTODO.
4043
4044 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
4045
4046         * String.cs (Trim): Fixed a few logic bugs in the code that
4047         calculated how much to trim off the end of the string.
4048
4049 2001-01-04  Nick Drochak  <ndrochak@gol.com>
4050         
4051         * Commented out the [TODO] attributes for now.  We don't have the
4052         class written.  Also changed it to [MonoTODO]
4053
4054 2002-01-04  Ravi Pratap  <ravi@ximian.com>
4055
4056         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
4057         our class libraries that are incomplete.
4058
4059         * Array.cs : Apply attribute wherever we find a FIXME which says
4060         we need something to be implemented there.
4061
4062         * Int32.cs : Ditto.
4063
4064         * MulticastDelegate.cs : Ditto.
4065
4066         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
4067         RuntimeTypeHandle.cs : Ditto.
4068
4069         * String.cs : Ditto.
4070
4071         * Type.cs : Ditto.
4072
4073         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
4074
4075         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
4076         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
4077
4078         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
4079         Delegate.cs : Ditto.
4080
4081         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
4082         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
4083         
4084 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
4085
4086         * Delegate.cs: add Remove() stub.
4087         * Enum.cs: add ToObject().
4088         * Type.cs: add IsEnum property.
4089
4090 2002-01-03  Kristian Rietveld  <kris@gtk.org>
4091
4092         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
4093         DateTime and object.
4094
4095 2001-12-30  Nick Drochak  <ndrochak@gol.com>
4096
4097         * Byte.cs (Parse): Add comments to aid in testing.
4098
4099 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
4100
4101         * Char.cs (Parse): Implement.
4102
4103         * Byte.cs (Parse): Implement a fast parser.
4104         
4105         * SByte.cs (Parse): Implement a fast parser.
4106
4107         * UInt16.cs (Parse): Implement a fast parser.
4108         
4109         * Int16.cs (Parse): Implement a fast parser.
4110
4111         * UInt32.cs (Parse): Implement a fast parser.
4112
4113         * Int32.cs (Parse): Implement a fast parser.
4114
4115 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
4116
4117         * Array.cs: fix null ref in sort code.
4118         * UInt64.cs: add bare-bones parse.
4119
4120 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
4121         
4122         * Byte.cs: removed use of Regexes.
4123
4124 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
4125
4126         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
4127         IsDefined(), GetUnderlyingType().
4128         * String.cs: fix one instance of Compare().
4129         * Type.cs: implemented GetProperties(), GetProperty().
4130
4131 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
4132
4133         * Array.cs: implement CopyTo ().
4134         * Char.cs: implement ToString ().
4135         * Exception.cs: bugfix.
4136         * Int32.cs: bare-bones Parse ().
4137         * MonoType.cs: query the needed info with an internalcall.
4138         * String.cs: speedups, bugfixes, reduced copies.
4139         * Type.cs: added missing fields. Implemented many of the Is*
4140         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
4141         GetFields(), FindMembers(), ToString().
4142         
4143 2001-12-11  Dick Porter  <dick@ximian.com>
4144
4145         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
4146
4147         * Console.cs: Use handles rather than casting file descriptors
4148
4149 2001-12-08  Nick Drochak  <ndrochak@gol.com>
4150
4151         * Byte.cs (Parse): Start implementation. Parse(string) works, but
4152         now we need to handle other formats
4153
4154 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
4155
4156         * DateTime.cs: added an icall to GetNow()
4157
4158 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
4159
4160         * Double.cs: added the parse method from Bob Smith
4161
4162 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
4163
4164         * UInt64.cs: ditto.
4165
4166         * UInt32.cs: ditto.
4167
4168         * Int32.cs (Int32.CompareTo): Fix because we can not just
4169         substract the values.
4170
4171         Return possitive value if the object is null.
4172
4173         * Boolean.cs: (Boolean.CompareTo): ditto.
4174
4175         * Int16.cs (Int16.CompareTo): ditto.
4176
4177         * Byte.cs (Byte.CompareTo): ditto.
4178
4179         * SByte.cs (SByte.CompareTo): ditto.
4180
4181         * Char.cs (Char.CompareTo): ditto.
4182         
4183         * Decimal.cs (Decimal.CompareTo): ditto.
4184
4185         * Int64.cs (Int64.CompareTo): ditto.
4186
4187         * Single.cs: Ditto.
4188
4189         * UInt16.cs: Ditto.
4190
4191 2001-11-28  Nick Drochak <ndrochak@gol.com>
4192
4193         * Byte.cs: Throw NotImplementedException for Parse.
4194
4195 2001-11-27  Derek Holden  <dholden@draper.com>
4196
4197         * IntegerFormatter.cs: Formatting of type "Number" was not
4198         using NumberFormatInfo.NumberNegativePattern.
4199
4200 2001-11-26  Dick Porter  <dick@ximian.com>
4201
4202         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
4203         the finalise routine any more
4204
4205 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
4206
4207         * ApplicationException.cs: internationalize by adding calls to
4208         Locale.GetText ().  And throw NotImplementedExceptions on calls
4209         that we have to implement.
4210
4211         * Version.cs: Ditto.
4212
4213         * ValueType.cs: ditto.
4214
4215         * UnauthorizedAccessException.cs: ditto.
4216
4217         * UInt32.cs: ditto.
4218
4219         * UInt64.cs: ditto.
4220
4221         * UInt16.cs: ditto.
4222
4223         * TypeLoadException.cs: ditto
4224
4225         * TypeInitializationException.cs: ditto.
4226
4227         * Type.cs: ditto.
4228
4229         * TimeSpan.cs: ditto.
4230
4231         * SystemException.cs: ditto.
4232
4233         * String.cs: ditto.
4234
4235         * StackOverflowException.cs: ditto.x
4236
4237         * Single.cs: ditto.
4238
4239         * SByte.cs: ditto.
4240
4241         * RuntimeTypeHandle.cs: ditto.
4242
4243         * RuntimeMethodHandle.cs: ditto.
4244
4245         * RuntimeFieldHandle.cs: ditto.
4246
4247         * Random.cs: ditto.
4248
4249         * OutOfMemoryException.cs: ditto.
4250
4251         * OperatingSystem.cs: ditto.
4252
4253         * ObjectDisposedException.cs: ditto.
4254
4255         * NullReferenceException.cs: ditto.
4256
4257         * NotImplementedException.cs: ditto.
4258
4259         * NotFiniteNumberException.cs: ditto.o
4260
4261         * MulticastNotSupportedException.cs: ditto.
4262
4263         * MissingMethodException.cs: ditto.
4264
4265         * MemberAccessException.cs: ditto.
4266
4267         * Math.cs: ditto.
4268
4269         * InvalidCastException.cs: ditto.
4270
4271         * IntegerFormatter.cs: ditto.
4272
4273         * Int32.cs: ditto.
4274
4275         * Int16.cs: ditto.
4276
4277         * IndexOutOfRangeException.cs: ditto.
4278
4279         * Environment.cs: ditto
4280
4281         * Enum.cs: ditto.
4282
4283         * DuplicateWaitObjectException.cs: ditto.
4284
4285         * DivideByZeroException.cs: ditto.
4286
4287         * Delegate.cs: ditto
4288
4289         * DecimalFormatter.cs: ditto.
4290
4291         * Decimal.cs: ditto.
4292
4293         * DateTime.cs: ditto.
4294
4295         * Convert.cs: ditto.
4296
4297         * Char.cs: ditto.
4298
4299         * Byte.cs: ditto.
4300
4301         * Boolean.cs: ditto.
4302
4303         * ArrayTypeMismatchException.cs: ditto.
4304
4305         * ArithmeticException.cs: ditto.
4306
4307         * ArgumentOutOfRangeException.cs: ditto.
4308
4309         * ArgumentNullException.cs: ditto.
4310
4311         * Enum.cs: Make it derive from ValueType, add CompareTo method.
4312
4313         * Attribute.cs: Reformat.
4314
4315 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
4316
4317         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
4318         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
4319         exception if the value is null too.
4320
4321         * Char.cs (CompareTo): ditto.
4322
4323         * ApplicationException.cs: Added constructor that does serialization.
4324
4325         * ParamArrayAttribute.cs: Define attribute correctly.
4326
4327 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
4328
4329         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
4330         * Array.cs: fix Array.Copy.
4331         * AssemblyLoadEventArgs.cs: rename field.
4332         * CLSCompliantAttribute.cs: use correct name for the class.
4333         * Char.cs: fix IsLetter.
4334         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
4335         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
4336         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
4337         * Delegate.cs: renamed target field to m_target.
4338         * Enum.cs: added missing methods.
4339         * MonoType.cs: add a constructor and some needed properties.
4340         * Object.cs: implement GetType().
4341         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
4342         ending 0 char.
4343         * Type.cs: add missing methods/properties.
4344
4345 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
4346
4347         * AttributeUseage.cs: Should define AttributeUsageAttribute.
4348
4349         * CLSCompliant.cs: Marked with AttributeUsage attribute.
4350
4351         * Decimal.cs: Fixed CLSCompliant attributes.
4352
4353         * Type.cs: changed _impl to internal (needs to be accessable by
4354         subclasses).
4355
4356         (TypeHandle): Marked as abstract, implementation removed.
4357
4358         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
4359         GetMethod): Added stub implementations so NUnit would link against
4360         corlib
4361
4362 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
4363
4364         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
4365
4366 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
4367
4368         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
4369         attribute. 
4370
4371 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
4372
4373         * String.cs: fix a couple of bugs.
4374         * AppDomain.cs: use new AppBuilder constructor.
4375         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
4376         NotImplementedException.cs, ObjectDisposedException.cs,
4377         UnauthorizedAccessException.cs: add implementation.
4378         * OverflowException.cs: fix class name.
4379
4380 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
4381
4382         * String.cs: Don't use a terminating nil char for our internal
4383         array.
4384
4385 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
4386
4387         * Delegate.cs (Delegate.CombineImpl): Implement.
4388         (Delegate.Combine): Implement.
4389
4390         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
4391
4392         (MulticastDelegate.CombineImpl): This was not as trivial as I
4393         thought. 
4394
4395         * ContextStaticAttribute.cs: Added AttributeUsage to
4396         ContextStaticAttribute. 
4397
4398         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
4399
4400 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
4401
4402         * added Decimal.cs * added DecimalFormatter.cs (internal class
4403         used from System.Decimal)
4404
4405 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
4406
4407         * Convert.cs: Added methods for Base64 transforming just used the
4408           existing System.Security.Cryptography.ToBase64Transform, should
4409           be changed to use a stand-alone class, e.g. Base64Encoder
4410           
4411 2001-10-10  Derek Holden  <dholden@draper.com>
4412
4413         * IntegerFormatter.cs: Added. Implements ToString for all the
4414         integer data types for all the format types.
4415
4416         * Byte.cs: Using IntegerFormatter for ToString's.
4417
4418         * SByte.cs: Using IntegerFormatter for ToString's.
4419
4420         * Int16.cs: Using IntegerFormatter for ToString's.
4421
4422         * Int32.cs: Using IntegerFormatter for ToString's.
4423
4424         * Int64.cs: Using IntegerFormatter for ToString's.
4425
4426         * UInt16.cs: Using IntegerFormatter for ToString's.
4427
4428         * UInt32.cs: Using IntegerFormatter for ToString's.
4429
4430         * UInt64.cs: Using IntegerFormatter for ToString's.
4431
4432 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
4433
4434         * Exception.cs: Implement bits of serialization.
4435
4436         * RuntimeFieldHandle.cs: Implement Serialization features.
4437
4438         * Type.cs: Implement TypeHandle property.
4439
4440 2001-09-28  Dick Porter  <dick@ximian.com>
4441
4442         * LocalDataStoreSlot.cs: Implemented
4443
4444 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
4445
4446         * String.cs: fix off-by-one error in Trim().
4447
4448 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
4449
4450         * Type.cs: added GetType () method.
4451
4452 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
4453
4454         * MissingMethodException.cs, MissingMemberException.cs,
4455         MemberAccessException.cs: added.
4456
4457 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
4458
4459         * String.cs: don't access the string array out of bounds in
4460         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
4461
4462 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
4463
4464         * String.cs: make Intern and IsIntern internalcalls.
4465
4466 2001-09-13  Dick Porter  <dick@ximian.com>
4467
4468         * Type.cs: Added a stub for the IsValueType property.
4469
4470         * SystemException.cs (System): Added the other constructor, so
4471         that System.Threading exceptions can inherit it.
4472
4473 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
4474
4475         * String.cs (TrimStart): Don't keep looping through the trimchars
4476         once we've found a match.
4477         (TrimEnd): Same here.
4478         (Trim): And finally here.
4479
4480 2001-09-07  Ravi Pratap  <ravi@ximian.com>
4481
4482         * Char.cs (IsLetterOrDigit): Implement.
4483         (IsLower): Implement, but we need to be Unicode aware.
4484         (IsNumber): Implement.
4485         (IsPunctuation): Implement.
4486         (IsWhiteSpace): Implement.
4487         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
4488         (ToLower): Same here.
4489
4490 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
4491
4492         * Object.cs: Shortcut, if (a == b) then return true.
4493
4494 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
4495
4496         * Delegate.cs: we need a pointer to the method thunk in
4497         the delegate object.
4498
4499 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
4500
4501         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
4502
4503 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
4504
4505         * String.cs (System): Don't mix uint and int.
4506
4507 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
4508
4509         * String.cs (BoyerMoore): Modified to not use pointers and to instead
4510         use indexes.
4511         (IndexOf): Use BoyerMoore.
4512
4513 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
4514
4515         * All over: Use the autogenerated enumerations from the ECMA
4516         documentation that Sergey wrote.
4517         
4518         * PlatformID.cs: Add Unix definition.
4519
4520         * OperatingSystem.cs: Use Unix instead of Linux here.
4521
4522         * MarshalByRefObject.cs: Mark class as [Serializable].
4523
4524 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
4525
4526         * Console.cs: impl. (write only)
4527         implemented the stdin stuff
4528
4529         * Int32.cs: impl. real op_Equal
4530
4531 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
4532
4533         * (common.src): Removed IAsyncResult as it is not on CVS yet.
4534
4535         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
4536         as it breaks the build.
4537
4538 2001-08-23  Michael Lambert <michaellambert@email.com>
4539
4540         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
4541         added CLSCompliant attribute
4542
4543         * IAsyncResult.cs: Added
4544
4545         * common.src: Added IAsyncResult.cs
4546
4547 2001-08-23  Michael Lambert <michaellambert@email.com>
4548
4549         * UIntPtr.cs: Added
4550
4551         * common.src: Added UIntPtr.cs
4552
4553 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
4554
4555         * Attribute.cs: uncomment some code to make it compile again
4556
4557         * mono.src: removed duplicated Attribute.cs
4558
4559 2001-08-16  Nick Drochak <ndrochak@gol.com>
4560
4561         * Attribute.cs: implemented all methods except GetHashCode()
4562
4563         * common.src: added Attribute.cs so it would compile in
4564
4565 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
4566
4567         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
4568         marked it as InternalCall
4569         
4570         * common.src: removed UriFormatException.cs because the file is
4571         not there.
4572
4573         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
4574         * Char.cs: replaced byte with char
4575
4576         * Array.cs: make it work with the mono interpreter
4577
4578 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
4579
4580         * Version.cs: Make the class sealed
4581
4582 2001-08-08  Bob Smith  <bob@thestuff.net>
4583
4584         * Random.cs: Many compile fixes.
4585         * Random.cs: I read a bad spec. Class updated to match real spec.
4586
4587 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
4588
4589         * IntPtr.cs: Added and Completed implementation.
4590
4591         * Uri.cs: Add a note.
4592
4593 2001-08-06  Bob Smith  <bob@thestuff.net>
4594
4595         * Random.cs: Compile fix. Needs more testing.
4596
4597 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
4598
4599         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
4600         into account IPv6 addresses, url encoding needs to be implemented, and 
4601         various minor methods need to be written, but this is a decent start.
4602
4603 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
4604
4605         * common.src: added Object.cs
4606
4607         * mono.src: added ValueType.cs
4608
4609 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
4610
4611         * Math.cs: replaced libc with libm
4612
4613 2001-08-02  Bob Smith  <bob@thestuff.net>
4614
4615         * Random.cs: Implemented. Needs testing.
4616
4617 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
4618
4619         * IServiceProvider.cs, EventHandler.cs: New files.
4620
4621 2001-08-02  Marcel Narings  <marcel@narings.nl>
4622         
4623         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
4624         Added exceptions. Added IConvertible. Still needs some platform 
4625         dependend stuff, the Parse and ToString members
4626
4627 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
4628
4629         * Type.cs (GetTypeFromHandle): added placeholder 
4630
4631 2001-07-24  Derek Holden  <dholden@draper.com>
4632
4633         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
4634         which is really an IConvertible defined method.
4635
4636         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
4637         behavior, still need to do the main Parse and ToString.
4638
4639         * Char.cs: Added a bunch of missing ECMA methods. Commented a
4640         specification discrepency. Still didn't any unicode stuff, though
4641         every IsFoo(char c) method has an IsFoo(string, index)
4642         counterpart, added wrappers for those.
4643         
4644         * Convert.cs: Fixed NaN/Inf checking and double/float
4645         rounding. Added ToType for IConvertible classes
4646
4647         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
4648         IsNaN methods. Changed Inf/NaN internals.
4649
4650         * IConvertible.cs: Added comments for using
4651         Convert.ToType. Changed return values to draft base values.
4652
4653         * Int16.cs: Added a missing Parse statement. Put in behavior for
4654         overloaded ToString and Parse methods.
4655
4656         * Int32.cs: Added a missing Parse statement. Put in behavior for
4657         overloaded ToString and Parse methods.
4658
4659         * Int64.cs: Added a missing Parse statement. Put in behavior for
4660         overloaded ToString and Parse methods.
4661         
4662         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
4663         methods. Changed Inf/NaN internals.
4664
4665         * SByte.cs: Added a missing Parse method. Put in Parse and
4666         ToString behavior, still need to do the main Parse and ToString.
4667
4668         * UInt16.cs: Added a missing Parse statement. Put in behavior for
4669         overloaded ToString and Parse methods.
4670
4671         * UInt32.cs: Added a missing Parse statement. Put in behavior for
4672         overloaded ToString and Parse methods.
4673
4674         * UInt64.cs: Added a missing Parse statement. Put in behavior for
4675         overloaded ToString and Parse methods.
4676         
4677 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
4678
4679         * MulticastDelegate.cs: New File.
4680
4681         * Delegate.cs: New file.
4682
4683         * Enum.cs: New file.
4684
4685         * Attribute.cs: New file.
4686
4687         * Type.cs: New file.
4688
4689         * ParamArrayAttribute.cs: New file.
4690
4691         * RuntimeTypeHandle.cs: New file.
4692
4693         * MulticastDelegate.cs: Added.
4694
4695         * DateTime.cs: Added
4696
4697         * Delegate.cs: Added
4698
4699 2001-07-18  Michael Lambert <michaellambert@email.com>
4700
4701         * AttributeTargets.cs: Add.
4702
4703 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
4704
4705         * Char.cs: Made ToUpper and ToLower public methods.
4706
4707         * String.cs: Lots and lots of compile fixes - just need to write
4708         DateTime.cs and this should build completely now.
4709
4710 2001-07-19  Bob Smith (bob@thestuff.net)
4711
4712         * Math.cs: Implemented. 
4713
4714 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
4715
4716         * String.cs: Removed tolower and toupper.
4717
4718         * Char.cs: Moved ToLower and ToUpper from string to here. 
4719
4720         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
4721         instead of comparing the value to Nan.
4722
4723 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
4724
4725         * TimeSpan.cs: New implementation.
4726
4727 2001-07-18  Scott Sanders <scott@stonecobra.com>
4728
4729          * UriFormatExcpetion.cs: Add - 85% complete
4730
4731 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
4732
4733         * String.cs (IndexOf): Slight optimization that allows skipping
4734         over a few chars here and there. This isn't as good as using my
4735         Boyer-Moore implementation, however, Boyer-Moore is only really
4736         good for long strings (I plan on making the code decide which
4737         string search algorithm it should use on-the-fly at some point).
4738         (LastIndexOf): Fix to work correctly.
4739         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
4740
4741 2001-07-16  Michael Lambert <michaellambert@email.com>
4742
4743         * EventArgs.cs: Add.
4744         
4745 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
4746
4747         * Version.cs: Remove my buggy comment.
4748
4749 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
4750
4751         * String.cs: Spelling error of IComparable, object's
4752         MemberwiseClone cannot be overridden.  Made indexer valid for now,
4753         but not sure what to do about this in the long run.  Seems to be a
4754         couple bugs in csc.exe having to do with multiple pointer defs in
4755         the same statement, and returning subclasses of a class in the
4756         return type of an interface function implementation.  Also moved
4757         operators inside of class definition.
4758
4759 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
4760
4761         * String.cs: A tom of compile fixes, although we still don't compile.
4762
4763         * IConvertible.cs: The To*Int64() methods return *Int64's, not
4764         *Int32's. Also, it's ToDateTime() not ToDateType().
4765
4766 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
4767
4768         * String.cs: Apparently I needed to at least write stubs for the
4769         IConvertible interfaces. *sigh*
4770
4771 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
4772
4773         * String.cs: Many logic/other fixes and better usage of the
4774         features of c#
4775         (tolower): New convenience method to help condense code.
4776         (toupper): Another new helper method.
4777         (Compare): Use the new helper methods.
4778         (ToLower): use tolower().
4779         (ToUpper): use toupper().
4780         (LastIndexOfAny): Implemented.
4781         (BoyerMoore): New private helper method that implements a modified
4782         version of the Boyer-Moore search algorithm. Noothing uses it yet
4783         as I'm not 100% sure it even works properly with unicode strings
4784         not to mention it uses a huge lookup-table :-)
4785         (Split): Implemented.
4786
4787 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
4788
4789         * TODO: Added things that need to be finished in System.String
4790
4791         * String.cs: New source file implementing the System.String class
4792
4793 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
4794
4795         * TypeCode.cs: UInt64 was UInt63.
4796
4797         * Object.cs: Fixed a numer of compiler errors.
4798
4799         * Array.cs: Fixed some compiler errors.
4800
4801         * IComparable.cs: Fixed some compiler errors.
4802
4803         * ICloneable.cs: Fixed some compiler errors.
4804
4805         * IConvertible.cs: Fixed some compiler errors.
4806
4807         * IFormattable.cs: Fixed a compiler error.
4808
4809         * IFormatProvider.cs: Fixed a compiler error.
4810
4811         * IDisposable.cs: Fixed a compiler error.
4812
4813         * IFormatProvider.cs: Added public accesability type to
4814         IFormatProvider.
4815
4816         * Exception.cs: Added a using statement to remove compile time
4817         error.
4818
4819         * ApplicationException.cs: Removed a ; that was causing a compiler
4820         error.
4821
4822         * Int16.cs: Fixed some compiler errors.
4823
4824         * Int32.cs: Fixed some compiler errors.
4825
4826         * Int64.cs: Fixed some compiler errors.
4827
4828         * SystemException.cs: Fixed a compiler error.
4829
4830         * UInt16.cs: Fixed some compiler errors.
4831
4832         * UInt32.cs: Fixed some compiler errors.
4833
4834         * UInt64.cs: Fixed some compiler errors.
4835
4836         * Void.cs: Fixed a compiler error.      
4837
4838 2001-07-12  Joe Shaw  <joe@ximian.com>
4839
4840         * Array.cs: Fix backwards parameters to Array.SetValue()
4841         throughout.
4842         (BinarySearch): Fix backward logic surrounding whether to call
4843         value.CompareTo or comparer.Compare.
4844         (LastIndexOf): Stop being stupid. I am so not used to strongly
4845         bounded arrays...
4846         (Sort): Implement a quicksort.
4847
4848 2001-07-11  Joe Shaw  <joe@ximian.com>
4849
4850         * Array.cs: Change all instances of trying to access an array with
4851         the index operator to calls to GetValue and SetValue, and add
4852         InternalGetValue and InternalSetValue which are internal calls
4853         into the runtime. Ew.
4854
4855 2001-07-10  Joe Shaw  <joe@ximian.com>
4856
4857         * Array.cs: Implemented everything but Sort().
4858
4859 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
4860
4861         * Object.cs (Object::Equals): Object variable name is `o'.
4862
4863 2001-07-06  Joe Shaw  <joe@ximian.com>
4864
4865         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
4866         Implement the IComparable and IFormattable interfaces. Fix a typo
4867         (publig -> public)
4868
4869         * ApplicationException.cs, ArgumentException.cs,
4870         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
4871         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
4872         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
4873         ExecutionEngineException.cs, FormatException.cs,
4874         IndexOutOfRangeException.cs, InvalidCastException.cs,
4875         InvalidOperationException.cs, InvalidProgramException.cs,
4876         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
4877         NotSupportedException.cs, NullReferenceException.cs,
4878         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
4879         StackOverflowException.cs, SystemException.cs,
4880         TypeInitializationException.cs: Added all of the exceptions
4881         specified by the language spec. Mmmm... bloat.
4882
4883 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
4884
4885         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
4886         do a generic routine all of these guys use.
4887
4888         * Int16.cs: identified missing methods.
4889
4890         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
4891
4892 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
4893
4894         * TypeCode.cs: Implement
4895
4896         * Void.cs: Implement.
4897
4898         * TODO: Add file to keep track of pending tasks.
4899
4900         * Object.cs, ValueType.cs: Implement.