Tue May 21 17:25:49 CEST 2002 Paolo Molaro * MonoCustomAttrs.cs: handle inherit argument. 2002-05-21 Nick Drochak * Math.cs (Pow): Change icall method name and insert parameter checks in for infinities and NaN. 2002-05-13 Miguel de Icaza * Double.cs (Parse): Reimplement by cleaning up the string first, and then passing to strtof in the mono runtime. * Single.cs (Parse): Use the Double implementation and cast to float. 2002-05-21 Nick Drochak * Math.cs (Ceiling): Check for "special" values (Floor): Check for "special" values (Round): Fix off-by-one error on decimal shifting 2002-05-20 Lawrence Pit * DateTime.cs: ToString () using "G" format specifier 2002-05-19 Martin Baulig * Convert.cs (FromBase64CharArray): Do correct exception handling. 2002-05-19 Martin Baulig * Convert.cs (FromBase64CharArray): Convert the char array using System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to a byte array. 2002-05-17 Miguel de Icaza * MonoType.cs: Style changes. * Type.cs: Style changes. 2002-05-16 Piers Haken * BitConverter.cs (ToString): Add parameter check for invalid start index. * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout now that StreamWriter uses buffering 2002-05-14 Miguel de Icaza * Double.cs: Oops. Also handle exponents without finding a dot. 2002-05-14 Gonzalo Paniagua Javier * ChangeLog: removed empty entry at the top of the file. * Int32.cs: made static functions used by Parse internal. * Int64.cs: * UInt32.cs: * UInt64.cs: removed static fucntions used by Parse and use the ones in Int32.cs 2002-05-12 Daniel Morgan * IServiceProvider.cs: added using System 2002-05-09 Daniel Morgan * Single.cs: copied ToString() and Parse() methods from Double to Single and modified a tiny bit for Single. There is still a FIXME for Double and Single about passing the format and provider info to the icall too. 2002-05-02 Gonzalo Paniagua Javier * Int32.cs: * Int64.cs: * UInt32.cs: * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits. Don't use a delegate to test for valid digits. 2002-05-01 Duncan Mak * Convert.cs: * Math.cs: Added missing CLSCompliant attributes where necessary. 2002-04-30 Duncan Mak * ArgumentException.cs (Message): * ArgumentOutOfRangeException.cs (Message): Added. 2002-04-30 Nick Drochak * MonoType.cs: Remove unused variable and eliminate a compiler warning. Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro * Environment.cs: support for Exit(), CommandLine, CommandLineArgs (). 2002-04-28 Duncan Mak * DivideByZeroException.cs: Added missing serialization constructor. * UnauthorizedAccessException.cs: Added the missing Serializable attribute. 2002-04-28 Gonzalo Paniagua Javier * Math.cs: fix Floor () and Round (). Closes #23960. 2002-04-27 Nick Drochak * Array.cs (IList.Contains): Should throw a RankException if this is called on a Rank > 1 array. Not in the docs, but this is what the MS.NET does. 2002-04-26 Duncan Mak * MissingMemberException.cs: Made the message variable 'protected' instead of 'private', so that we can see it in MissingMethodException and MissingFieldException. * MissingFieldException.cs: * MissingMethodException.cs: Added missing (string, string) constructor, and also the Message property. 2002-04-26 Martin Baulig * Enum.cs: Implemented the IConvertible methods. 2002-04-25 Gonzalo Paniagua Javier * SByte.cs: little change in Parse (string) to avoid incorrect OverflowException thrown (reported by nickd). 2002-04-22 Miguel de Icaza * ValueType.cs: Add Serializable attribute. * String.cs: ifdef-out out the __arglist Concat function until I add support for that to mcs. 2002-04-24 Patrik Torstensson * AppDomain.cs (GetValue): usage of the correct icall (bug) Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro * GC.cs: implement most of the methods as icalls. 2002-04-24 Gonzalo Paniagua Javier * DecimalFormatter.cs (ToString): return correct value when the decimal number is 0. 2002-04-24 Patrik Torstensson * Type.cs (GetProperty): fixed call syntax (needs an empty array not null) * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers) 2002-04-24 Nick Drochak * Double.cs (Parse): Handle case where there are no digits before the decimal point, such as ".1". 2002-04-23 Gonzalo Paniagua Javier * Int32.cs: * UInt32.cs: * Int64.cs: * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong). 2002-04-23 Patrik Torstensson * String.cs (Split): fixed invalid split of count 0 and 1. 2002-04-23 Patrik Torstensson * String.cs (LastIndexOf): fixed argument checking. * String.cs (Equals): made internal for performace. 2002-04-23 Nick Drochak * String.cs (Join): check argument and throw exception if needed 2002-04-23 Nick Drochak * String.cs (StartsWith): check argument and throw exception if needed 2002-04-22 Nick Drochak * String.cs (IndexOfAny): check arguments and throw exceptions as neccessary. ALso remove some debug WriteLines. 2002-04-20 Dietmar Maurer * String.cs: use internal constructors buf fix in Concat. Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro * MonoType.cs: make GetElementType its own icall. 2002-04-18 Nick Drochak * String.cs: Modified file. Re-add methods needed by the unit tests. Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro * String.cs: some code speedups and restored GetTypeCode(). 2002-04-17 Patrik Torstensson * String.cs: New implementation using internal calls. 2002-04-16 Nick Drochak * DecimalFormatter.cs: Trim off excess null characters from the string that decimal2string gives back. 2002-04-16 Nick Drochak * String.cs (SubString): revert my change. I can't reproduce the problem anymore. 2002-04-13 Gonzalo Paniagua Javier * Attribute.cs: added GetHashCode and Equals. 2002-04-12 Gonzalo Paniagua Javier * Enum.cs: little improvements to Format (). Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro * String.cs: internalcall GetHashCode(). * Array.cS: optimize access to elements. Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro * String.cs: make IndexOfAny() use an internalcall. 2002-04-10 Gonzalo Paniagua Javier * Int32.cs: * UInt32.cs: * Int64.cs: * UInt64.cs: fixed error when testing for validity of flags. 2002-04-11 Nick Drochak * Double.cs: Use an internal call for ToString(). This is just a simple implementation to get away from throwing a NotImplementedException. 2002-04-10 Gonzalo Paniagua Javier * Int32.cs: * UInt32.cs: * Int64.cs: * UInt64.cs: changed Type.GetType () by typeof (), as suggested by lupus. * Int32.cs: * Int64.cs: throw an OverFlowException when parsing a string containing a dot followed by any non '0' number. 2002-04-10 Gonzalo Paniagua Javier * Byte.cs: * UInt16.cs: * UInt32.cs: * UInt64.cs: added complex Parse (). 2002-04-09 Gonzalo Paniagua Javier * SByte.cs: * Int16.cs: * Int32.cs: * Int64.cs: added complex Parse (). 2002-04-09 Nick Drochak * Array.cs (BinarySearch): Add checks on paramters before using them and throw exceptions as needed. * Enum.cs (Format): Check if [Flags] is applied to enum and convert "G" format to "F" if so. Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro * MonoCustomAttrs.cs: return arrays of type Attribute[] instead of object[]. 2002/04/09 Nick Drochak * String.cs (Substring): Copy only non-null characters to the new string. 2002-04-09 Nick Drochak * IntegerFormatter.cs: Don't use a format character to indicate a custom format was passed in. It was using 'z' to indicate a custom format, but really it should throw a format exception if the user tries to use "z" as the format string. Now it does. * Activator.cs: New File. 2002-04-08 Nick Drochak * Enum.cs (ToString): Big ugly fix for the case where [Flags] is applied to an enum. Need to handle the different possible integer types of an enum somehow. Can anyone say generics? Mon Apr 8 06:22:42 2002 Piers Haken * Convert.cs: switched the To*(object) methods to use IConvertible directly instead of calling ChangeType Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro * ValueType.cs: make Equals() an internalcall. Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro * Type.cs: also look for nested types in FindMembers. * MonoType.cs: make GetNestedTypes() an internalcall. 2002-04-05 Nick Drochak * Enum.cs (Parse): Handle different underlying types. 2002/04/04 Nick Drochak * Enum.cs (IsDefined): Throw exception when type of value to look for is not the correct one. Attempt to have it work with string values too, but not sure if the unit tests are getting that far yet. 2002-04-04 Nick Drochak * Decimal.cs: Fix a couple of typos. Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro * Enum.cs: the values array is of the enum and not of the underlying type. Updates and some bug fixes. * MonoType.cs: make the internalcall return FullName instead of the assembly qualified name. * Type.cs: make ToString () simply return FullName. 2002-04-03 Nick Drochak * Type.cs (GetTypeCode): provide some of the implementation for this method. It's still too simplistic to be considered complete. 2002-04-02 Dietmar Maurer * Object.cs: fixed FieldGetter/FieldSetter signature 2002-04-02 Nick Drochak * Environment.cs: add MonoTODO's on parts that should have it. 2002-04-01 Nick Drochak * Enum.cs: added reality checks (check parameters to most methods that need them). 2002-03-30 Dietmar Maurer * Object.cs: added FieldGetter/FieldSetter 2002-03-28 Gonzalo Paniagua Javier * IntegerFormatter.cs: fixed initialization error in static constructor. 2002-03-28 Dietmar Maurer * Delegate.cs: added new field to store a trampoline function 2002-03-28 Gonzalo Paniagua Javier * IntegerFormatter.cs: added workaround for bug #22668. First patch to make custom format strings work (not fully functional yet). 2002/03/28 Nick Drochak * IntegerFormatter.cs: Change class from internal to public. Add necessary [CLSCompliant(false)] attributes. 2002-03-27 Duco Fijma * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData (was a typo) 2002-03-28 Nick Drochak * Type.cs: Added MonoTODO tags on members that have FIXME, etc. 2002-03-27 Dan Lewis * Console.cs: Modified to get std handles from MonoIO. * Environment.cs: removed PAL dependencies. 2002-03-25 Miguel de Icaza * String.cs (System): Removed internal enumeration, because bootstrapping the corlib at this point does not support enumerations. * IntPtr.cs: Temporary work-around until I fix the assembly attributes bug. 2002-03-24 Martin Baulig * Enum.cs (GetValues): According to the docu this is sorted after values, not names. * String.cs (System): Removed enumeration, because it is pretty hard to support enumerations in /nostdlib mode for the core types. Tue Mar 19 18:18:49 CET 2002 Paolo Molaro * Array.cs: move error handling in the catch block. * MulticastDelegate.cs: remove == and != operators that were removed with the delegate changes (when you add stuff, please do not remove existing functionality!). * Type.cs: if a property is not found in a type, search for it in the parent types, too. 2002-03-18 Dan Lewis * Math.cs: changed to use icall instead of PAL. 2002-03-18 Dietmar Maurer * Double.cs: added check for NaN (Bug [22082]) 2002-03-19 Nick Drochak * Enum.cs (Equals): check for null and throw if it is. * Enum.cs (Format): check for null parameters and throw if necessary. This method still needs more argument checking. 2002-03-18 Dietmar Maurer * Enum.cs (Equals): check if Enums are of the same type 2002-03-18 Nick Drochak * Double.cs: Explicitly handle comparisons in CompareTo() for Positive/Negative Infinity and NaN. Unit Test now passes on Linux. * Enum.cs(CompareTo): Check types of values before trying to compare. Throw exceptions if types are invalid or don't match. 2002-03-14 Miguel de Icaza * Array.cs: Add some extra debugging information. 2002-03-15 Nick Drochak * Array.cs: Added IList and IEnumerable. 2002-03-14 Miguel de Icaza * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as NonCLSCompliant. 2002-03-14 Dietmar Maurer * Delegate.cs (Equals): also compare method_ptr (GetHashCode): returm method_ptr as hash 2002-03-13 Duco Fijma * TimeSpan.cs: removed the use of Custom Numeric Format Strings, such as 42.ToString("0000000"), as these are (currently) not implemented in System.IntegerFormatter. TimeSpan luckely can do with Standard Numeric Format Strings, such as 42.ToString("D7"). 2002-03-12 Duncan Mak * FieldAccessException.cs: * MethodAccessException.cs: * PlatformNotSupportedException.cs: Inherit from MemberAccessException, not SystemException. * ObsoleteAttribute.cs: Made Message and IsError properties instead of fields. Tue Mar 12 19:21:18 CET 2002 Paolo Molaro * GC.cs: make SuppressFinalize() a nop. * Delegate.cs: fix == operator. 2002-03-13 Nick Drochak * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the runtime that goes with this patch. 2002-03-10 Martin Baulig * Int32.cs (Parse): Correctly parse negative numbers. 2002-03-08 Martin Baulig * String.cs (Split): Really fix it this time. Also adding several new testcase to the testsuite. 2002-03-08 Martin Baulig * Array.cs (Copy): Optimized: removed duplicate null check, removed two duplicate GetLowerBound() calls and one duplicate IsValueType. Fri Mar 8 18:49:19 CET 2002 Paolo Molaro * Object.cs: commit my hacked GetHashCode(): it's good enough for now. * String.cs: use the dumb code for IndexOf(string): this is worth 15-20 % speedup in mcs compile with mint. Fri Mar 8 12:45:44 CET 2002 Paolo Molaro * String.cs: revert change to Split() that broke the compiler (hi martin!:-). 2002-03-07 Martin Baulig * String.cs (Join): Throw an ArgumentNullException. (LastIndexOf (string,int,int)): This method does a backwards search, so startIndex points to the end of value, not to its beginning. Don't throw an exception if startIndex equals this.Length. Always return -1 if startIndex is smaller than the length of value. (Replace (string,string)): Replace all occurences of oldValue. If newValue is null, all occurences of oldValue are to be removed. (Split (char[],int)): Return an empty array if maxCount is zero, throw an ArgumentOutOfRangeException if it's less than zero. Return maxValue elements, not maxValue+1. Thu Mar 7 17:16:06 CET 2002 Paolo Molaro * MonoType.cs: make GetEvents() an internal call. * MulticastDelegate.cs: copy the passed in array. 2002-03-06 Martin Baulig * Array.cs (Copy): Use FastCopy when appropriate and do correct exception handling. 2002-03-06 Duco Fijma * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing some of the failures found be new tests (see ChangeLog in Test/System). Comments added to this method, based on the representation invariant of this class, that (try to) explain why it now should be correct. 2002-03-06 Dietmar Maurer * Int64.cs (Parse): bug fix for max. negative value. 2002-03-07 Nick Drochak * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say. I need to understand what the difference between the attribute and the interface is. 2002-03-06 Martin Baulig * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not an InvalidCastException if the widening conversion failed. See testcases #M94-#M96. * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle arrays with non-zero lower bounds. Also adding testcases #F10-#F13 for this. * Array.cs (CopyTo): Reverted my last change, it was incorrect. (Copy): Actually allow copying multi-dimensional arrays. 2002-03-05 Duncan Mak * Convert.cs: (DBNull) Added the missing field. (IsDBNull) Fixed typo. (ToByte (string, int)) Implemented. (ToString (byte, int)) Implemented. (ConvertToBase) (BuildConvertedString) internal functions used for converting values to a specific base. * Int16.cs: * Int32.cs: * Int64.cs: * Single.cs: * UInt16.cs: * UInt32.cs: Implemented the IConvertible interface. * CharEnumerator.cs: Renamed to variables to be clearer and changed some of the tests to conform to the 1.0 spec. 2002-03-06 Martin Baulig * Array.cs (Copy): Calculate absolute array position here and use GetValueImpl() and SetValueImpl() with that position. We can now copy multi-dimensional arrays. (CopyTo): Small bug fix. 2002-03-05 Duco Fijma * Version.cs: CompareTo changed according the LAMESPEC discovered by Nick (See VersionTest.cs). * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one error comparing the current position (idx) against the length of the string iterated and it set idx to an unrecognized special value (-2) Tue Mar 5 17:34:14 CET 2002 Paolo Molaro * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants to do this dirty work, but someone has to do it (and I need it to pass the "200 sample tests compiled on linux" mark). 2002-03-06 Nick Drochak * Attribute.cs * DecimalFormatter.cs * Delegate.cs * Double.cs * GC.cs * Int16.cs * Int32.cs * MonoType.cs * RuntimeMethodHandle.cs * RuntimeTypeHandle.cs * String.cs * Type.cs: Add [MonoTODO]'s to places where we currently throw a NotImplementedException. 2002-03-05 Dietmar Maurer * Int16.cs (Parse): do not overflow on max negative value * Int32.cs (Parse): do not overflow on max negative value Mon Mar 4 20:36:05 CET 2002 Paolo Molaro * Type.cs: fixed IsClass. * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl, IsByRefImpl. Added GetInterfaces(). * IServiceProvider.cs: compilation fix. Mon Mar 4 18:37:03 CET 2002 Paolo Molaro * Array.cs: allow copying an empty array to an empty array. Mon Mar 4 17:59:16 CET 2002 Paolo Molaro * String.cs: fixed LastIndexOf (string) to do a bit of argument checking. 2002-03-04 Duco Fijma * Version.cs: many fixes to failures found by the newly created test cases for this class. Specifically, the CompareTo member returned wrong values due to the use of Int32.MaxValue as a special value indicating an "undefined" version component. Also implemented the missing operators (==, <, >, etc.), one missing constructor and and some exception throwing. 2002-03-04 Nick Drochak * IServiceProvider.cs: Add missing attribute: ComVisible(false) * Attribute.cs: Add missing attributes: Serializable and AttributeUsage(AttributeTargets.All) Mon Mar 4 11:26:49 CET 2002 Paolo Molaro * MonoType.cs: implemented GetConstructors(), GetFields(), GetMethods(), GetProperties(). * Object.cs: added debugging icall obj_address(). * Type.cs: fixed the binding flags for some Get* methods. Implemented FindMembers() as calls to the specific GetMember methods. 2002-03-01 Duco Fijma * BitConverter.cs: fixed one little bug: ToString(s, n, 0) should give an exception for n>=s.Length. 2002-03-01 Martin Baulig * Array.cs: More argument checking and bug fixing. 2002-03-01 Miguel de Icaza * BitConverter.cs: Indentation match * AppDomain.cs: Added MonoTODOs to this too. * Buffer.cs: Added MonoTODOs to this. 2002-03-01 Martin Baulig * Array.cs: Added argument checking to all methods where it was missing. 2002-03-01 Duco Fijma * BitConverter.cs: Fixed bugs in ToString methods Fri Mar 1 15:20:00 CET 2002 Paolo Molaro * MulticastDelegate.cs: implement operators so mcs3 can be used on linux. 2002-03-01 Nick Drochak * BitConverter.cs: Throw ArgumentException like mscorlib, instead of ArgumentOutOfRangeException like the docs say. 2002-03-01 Martin Baulig * Enum.cs (CompareTo): Correctly override this method from IComparable. * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError. 2002-02-28 Martin Baulig * String.cs: This file now passes the testsuite on Linux :-) * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned; make them private and provide C# wrappers which do proper argument checking. * String.cs (Format): Correctly handle escaped brackets. * String.cs (_CompareChar): New internal function which compares two chars. (_Compare): Provide an internal compare method which can do all sorts of comparision and call it from all the Compare() methods. Also fixed a lot of bugs here, this code now actually passes the testsuite. 2002-02-28 Duncan Mak * Convert.cs: Added the missing methods. The new class status page kicks ass, it even found my typos! Woohoo! (ConvertFromBase): Moved the Exception throwing in here and removed the other occurances so it's all centralized now. (ISDBNull): Implemented. (GetTypeCode): Implemented. 2002-02-27 Duco Fijma * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which states that a lacking format should be interpreted as "N". Also added [Serializable] attribute * TimeSpan.cs: some formatting and added the [Serializable] attribute 2002-02-26 Duncan Mak * WeakReference.cs: Committed for Ajay Kumar Dwivedi. 2002-02-26 Martin Baulig * TimeZone.cs: Use an internal enum rather than magic numbers to access the fields of the interncall GetTimeZoneData. * DateTime.cs: Implemented Parse and fixed a few bugs. * String.cs (TrimStart): Small fix. 2002-02-26 Martin Baulig * DateTime.cs: ParseExact is now fully functional. * String.cs (TrimEnd): Small fix. 2002-02-26 Duco Fijma * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously missing for about six months. Tue Feb 26 14:21:19 CET 2002 Paolo Molaro * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags. 2002-02-26 Martin Baulig * DateTime.cs: Miguel already committed this, but there was still a ChangeLog entry for this missing .... We're now reusing functionality from TimeSpan, printing dates is fully implemented, currently working on parsing. * TimeZone.cs: Fully implemented this. There's a new InternCall in the runtime for this. Fri Feb 22 18:47:08 CET 2002 Paolo Molaro * MonoType.cs: disable constructor. * Object.cs: make GetType() an internalcall. * Type.cs: added correct bindingflags to GetMethods (). All such calls should be reviewed to use the correct flags. Thu Feb 21 19:23:46 CET 2002 Paolo Molaro * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra argument. Thu Feb 21 16:56:51 CET 2002 Paolo Molaro * Type.cs: implemented IsAssignableFrom. 2002-02-21 Duco Fijma * Guid.cs: fixed Guid.Guid(string) ctor. Changed format: "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" The former is documented by Microsoft. The latter is how they actually implemented it in mscorlib:-) Tue Feb 19 20:34:35 CET 2002 Paolo Molaro * MonoCustomAttrs.cs: hooks to get the custom attributes from the runtime. * MonoType.cs: Implemented custom attributes methods. 2002-02-21 Duco Fijma * Guid.cs: Tue Feb 19 20:34:35 CET 2002 Paolo Molaro * MonoCustomAttrs.cs: hooks to get the custom attributes from the runtime. * MonoType.cs: Implemented custom attributes methods. 2002-02-19 Dietmar Maurer * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 2002-02-19 Duncan Mak * Convert.cs: Finished up the missing methods in Convert. Added a new private method ConvertFromBase. 2002-02-19 Dietmar Maurer * String.cs: impl. IConvertible interface 2002-02-18 Duco Fijma * Guid.cs: actual implementation for Guid.Guid(string) Ctor 2002-02-18 Duncan Mak * Convert.cs: Changed from using Type.GetType (string) to just typeof (). Probably will speed things up a bit? 2002-02-18 Ajay Kumar Dwivedi * Array.cs: 1. Fix for GetUpperBound to return correct values 2. made some Properties virtual 3. Adds IsFixedSize and IsReadOnly properties. 4. changes CreateInstance(Type,int[],int[]) to throw Exception when third arg is null. InternalCall CreateInstance changed to CreateInstanceImpl 5. Fixed array.GetUpperBound at a couple of places 6. IndexOf and LastIndexOf now use Object.Equals instead of "==" 7. Added two FIXME's in BinarySearch functions. 2002-02-17 Duncan Mak * TimeZone.cs: Applied the rest of Ajay's patch for IsDaylightSavingTime. Thanks a lot for the nice explanation of how it works! 2002-02-17 Duco Fijma * Guid.cs: added stub for Guid(string) ctor 2002-02-17 Duncan Mak * Convert.cs: Near-complete implementation of Convert.cs Added all the To* methods taking (object) and (object, IFormatProvider) as parameters. Added [CLSCompliant (false)] attributes to methods dealing with unsigned types. Added the missing section on converting to and from DateTime. Only 6 missing methods, all marked with MonoTODOs. Will tackle them later. 2002-02-16 Duncan Mak * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to make IsDaylightSavingTime (DateTime) call IsDaylightSavingTime (DateTime, DaylightTime). Added internal class CurrentTimeZone from Ajay. It needs more work to fill in the appropriate internal calls. Sat Feb 16 12:41:41 CET 2002 Paolo Molaro * Type.cs: fix IsClass. Sat Feb 16 12:02:02 CET 2002 Paolo Molaro * String.cs: fix Trim(). Fri Feb 15 21:02:46 CET 2002 Paolo Molaro * String.cs: fix more off by one errors. Thu Feb 14 18:54:09 CET 2002 Paolo Molaro * MonoType.cs: fix IsValueTypeImpl. * Type.cs: fix IsEnum. Implement Equals methods. Wed Feb 13 21:50:13 CET 2002 Paolo Molaro * Int32.cs: implement IConvertible interface. 2002-02-12 Duncan Mak * TimeZone.cs: Implemented and added to CVS. 2002-02-11 Duncan Mak * Convert.cs: Implemented the ChangeType () methods. Mon Feb 11 19:48:58 CET 2002 Paolo Molaro * Array.cs: make Clone() an internal call. 2002-02-09 Duco Fijma * Changed Guid.NewGuid so that it can use both System.Random and System.Security.Cryptography.RandomNumberGenerator 2002-02-09 Duco Fijma * First version of Guid.NewGuid 2002-02-08 Duncan Mak * RuntimeArgumentHandle.cs: Added to CVS. Fri Feb 8 19:14:54 CET 2002 Paolo Molaro * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs, UnhandledExceptionEventHandler.cs: added delegates. Fri Feb 8 18:06:20 CET 2002 Paolo Molaro * MarshalByRefObject.cs: add ToString () method (apparently needed by nunit). * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered by it in the runtime. 2002-02-08 Dan Lewis * String.cs (Format): implemented 2002-02-07 Duncan Mak * DuplicateWaitObjectException: * InvalidCastException: * NotImplementedException: * NotSupportedException: * NullReferenceException: * OutOfMemoryException: * OverflowException: * RankException: * StackOverflowException.cs: * UnauthorizedAccessException: Added missing constructor used for serialization. 2002-02-07 Dietmar Maurer * String.cs (System.Compare): bug fix 2002-02-06 Dietmar Maurer * Enum.cs (Parse, GetHashCode): impl. 2002-02-05 Duncan Mak * DBNull.cs: This is my first crack at the DBNull class. I think I actually got most of the IConvertible methods right, but I haven't done the research to test whether or not this is the correct behavior. IConvertible.ToType () is the most iffy of all, IMHO. * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException. 2002-02-05 Dietmar Maurer * Enum.cs: added more functionality (GetName, ToObject, Equals) 2002-01-31 Duncan Mak * InvalidOperationException.cs: * NotFiniteNumberException.cs: * ObjectDisposedException.cs: * TypeInitializationException.cs: Added missing bits for serialization/ * AppDomainUnloadedException.cs: * ApplicationException.cs: * ArgumentOutOfRangeException.cs: * ArithmeticException.cs: * ArrayTypeMismatchException: * BadImageFormatException.cs: * Exception.cs: * MissingMemberException.cs: * TypeLoadException.cs: Added missing bits for serialization. 2002-01-30 Duco Fijma * Guid.cs: implemented everything but Guid.NewGuid Tue Jan 29 22:32:36 CET 2002 Paolo Molaro * _AppDomain.cs: remove ToString() method: it doesn't seem right to have it in this interface and it screws up the method vtable setup. 2002-01-28 Andrei Zmievski * Double.cs: implemented IConvertible interface. 2002-01-28 Miguel de Icaza * ArgumentException.cs: Implement serialization constructor. (GetObjectData): Implement serializer. * ArgumentNullException.cs: Implement serialization constructor. * Exception.cs: Implement serialization constructor. (GetObjectData): Implement serializer. 2002-01-23 Miguel de Icaza * DateTime.cs (UnixEpoch): The Begining of the Unix epoch. 2002-01-23 Duncan Mak * EntryPointNotFoundException.cs: * FormatException: Added missing constructor and related bits. * TypeLoadException: Added missing constructor, methods and properties. 2002-01-23 Miguel de Icaza * AppDomain.cs (GetAssemblies): Use foreach construct instead of manually getting the enumerator. (AppDomain.AppDomain): Prime the loaded assemblies with the assemblies loaded by the runtime in our behalf. * AppDomainSetup.cs: Remove private keyword, that is the default. Add a new property DisallowPublisherPolicy. * AppDomain.cs (AppDomain.GetAssemblies): Implement. Tue Jan 22 22:51:48 CET 2002 Paolo Molaro * MonoType.cs, Type.cs: many updates, corrected implementation, completed stubs. 2002-01-20 Andrei Zmievski * Byte.cs: * Char.cs: implemented IConvertible interface. * Boolean.cs: use our own ToString() method directly. 2002-01-20 Duncan Mak * Files I commited recently: Fixed indentation style. 2002-01-20 Nick Drochak * SerializableAttribute.cs: this attrib can be used on enums, structs, and delegates too. Added the appropriate usage flags. 2002-01-18 Duncan Mak * CharEnumerator.cs: Implemented. * String.cs (System): Fixed the GetEnumerator () method(s). * ObsoleteAttribute.cs: * STAThreadAttribute.cs: * MTAThreadAttribute.cs: * ThreadStaticAttribute.cs: * LoaderOptimizationAttribute.cs: * PlatformNotSupportedException.cs: * LoaderOptimization.cs: Added to CVS. 2002-01-18 Duncan Mak * AppDomainUnloadedException.cs: * MethodAccessException.cs: * ContextMarshalException.cs: * CannotUnloadAppDomainException.cs: * DllNotFoundException.cs: * EntryPointNotFoundException.cs: * FieldAccessException.cs: * TypeUnloadedException.cs: * MissingFieldException.cs: Added to CVS. * ApplicationException.cs: * MemberAccessException.cs: * MissingMemberException.cs * MissingMethodException.cs: * SystemException.cs: Added [Serializable] attribute. * Exception.cs: Added [Serializable] attribute, made properties 'Message', 'Source' and 'StackTrace' virtual methods, per 1.0 spec. * ContextStaticAttribute.cs: Added [Serializable] attribute and put in the missing constructor. * Environment.cs: Commented out references to EnvironmentPermissionAttribute, because they're just stubbed out right now and has no implementation. 2002-01-16 Andrei Zmievski * Boolean.cs: implemented IConvertible interface 2002-01-15 Nick Drochak * ResolveEventArgs.cs: class should derive from EventArgs. 2002-01-14 Miguel de Icaza * String.cs (System): Use DefaultMemberName for the String class. Mon Jan 14 17:06:40 CET 2002 Paolo Molaro * String.cs: use IndexerName in index char accessor. Thu Jan 10 21:05:23 CET 2002 Paolo Molaro * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank. * String.c: eliminate 64k+ method calls in search. * Type.cs: handle byref and array types in ToString (). 2002-01-09 Duco Fijma * Guid.cs: created first version 2002-01-10 Dietmar Maurer * MonoType.cs: added missing TypeAttributes to MonoTypeInfo Wed Jan 9 19:35:07 CET 2002 Paolo Molaro * MulticastDelegate.cs: add == and != operator stubs. * String.cs: check for null in == operator. * Type.cs: use a virtual method to get TypeAttributes. Tue Jan 8 23:30:19 EST 2002 Matt Kimball * String.cs: Fixed several off-by-one errors in LastIndexOf* methods 2002-01-09 Nick Drochak * Environment.cs: Comment out Security attribute and put a MonoTODO there as a reminder. We need mcs magic to handle security attributes in corlib. 2002-01-07 Duco Fijma * Created IAppDomainSetup.cs 2002-01-06 Duco Fijma * Created System._AppDomain interface in _AppDomain.cs 2002-01-06 Nick Drochak * ResolveEventArgs.cs: New File, completely implemented! ;) Sat Jan 5 15:53:50 CET 2002 Paolo Molaro * Enum.cs: dummy ToString impl. * String.cs: dummy format implementations to get compiler errors somewhat working. * Type.cs: implemented filter delegates. FindMembers runs the filter, now. 2002-01-05 Ravi Pratap * TODOAttribute.cs : Augment some more; provide two constructors with support for a comment too. 2002-01-05 Nick Drochak * Uncommented those MonoTODO's now that Ravi's got the class in there 2001-01-04 Ravi Pratap * TODOAttribute.cs : Actually add this time ;-) Change name to MonoTODO. 2002-01-04 Jeffrey Stedfast * String.cs (Trim): Fixed a few logic bugs in the code that calculated how much to trim off the end of the string. 2001-01-04 Nick Drochak * Commented out the [TODO] attributes for now. We don't have the class written. Also changed it to [MonoTODO] 2002-01-04 Ravi Pratap * TODOAttribute.cs : Add. We use this attribute to tag all bits in our class libraries that are incomplete. * Array.cs : Apply attribute wherever we find a FIXME which says we need something to be implemented there. * Int32.cs : Ditto. * MulticastDelegate.cs : Ditto. * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs, RuntimeTypeHandle.cs : Ditto. * String.cs : Ditto. * Type.cs : Ditto. * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto. * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto. * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto. * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto. Thu Jan 3 23:24:04 CET 2002 Paolo Molaro * Delegate.cs: add Remove() stub. * Enum.cs: add ToObject(). * Type.cs: add IsEnum property. 2002-01-03 Kristian Rietveld * Convert.cs: add non-CLS-compliant ToBoolean methods for char, DateTime and object. 2001-12-30 Nick Drochak * Byte.cs (Parse): Add comments to aid in testing. 2001-12-21 Miguel de Icaza * Char.cs (Parse): Implement. * Byte.cs (Parse): Implement a fast parser. * SByte.cs (Parse): Implement a fast parser. * UInt16.cs (Parse): Implement a fast parser. * Int16.cs (Parse): Implement a fast parser. * UInt32.cs (Parse): Implement a fast parser. * Int32.cs (Parse): Implement a fast parser. Fri Dec 21 15:14:52 CET 2001 Paolo Molaro * Array.cs: fix null ref in sort code. * UInt64.cs: add bare-bones parse. Thu Dec 20 15:29:52 CET 2001 Paolo Molaro * Byte.cs: removed use of Regexes. Tue Dec 18 18:39:54 CET 2001 Paolo Molaro * Enum.cs: implemented GetValues(), GetNames(), GetName(), IsDefined(), GetUnderlyingType(). * String.cs: fix one instance of Compare(). * Type.cs: implemented GetProperties(), GetProperty(). Thu Dec 13 20:10:57 CET 2001 Paolo Molaro * Array.cs: implement CopyTo (). * Char.cs: implement ToString (). * Exception.cs: bugfix. * Int32.cs: bare-bones Parse (). * MonoType.cs: query the needed info with an internalcall. * String.cs: speedups, bugfixes, reduced copies. * Type.cs: added missing fields. Implemented many of the Is* properties. Implemented GetMethod(), GetConstructor(), GetMethods(), GetFields(), FindMembers(), ToString(). 2001-12-11 Dick Porter * DateTime.cs: Implemented FromFileTime() and ToFileTime() * Console.cs: Use handles rather than casting file descriptors 2001-12-08 Nick Drochak * Byte.cs (Parse): Start implementation. Parse(string) works, but now we need to handle other formats 2001-12-06 Dietmar Maurer * DateTime.cs: added an icall to GetNow() 2001-12-04 Dietmar Maurer * Double.cs: added the parse method from Bob Smith 2001-11-28 Miguel de Icaza * UInt64.cs: ditto. * UInt32.cs: ditto. * Int32.cs (Int32.CompareTo): Fix because we can not just substract the values. Return possitive value if the object is null. * Boolean.cs: (Boolean.CompareTo): ditto. * Int16.cs (Int16.CompareTo): ditto. * Byte.cs (Byte.CompareTo): ditto. * SByte.cs (SByte.CompareTo): ditto. * Char.cs (Char.CompareTo): ditto. * Decimal.cs (Decimal.CompareTo): ditto. * Int64.cs (Int64.CompareTo): ditto. * Single.cs: Ditto. * UInt16.cs: Ditto. 2001-11-28 Nick Drochak * Byte.cs: Throw NotImplementedException for Parse. 2001-11-27 Derek Holden * IntegerFormatter.cs: Formatting of type "Number" was not using NumberFormatInfo.NumberNegativePattern. 2001-11-26 Dick Porter * LocalDataStoreSlot.cs: No need to delete a system TLS slot in the finalise routine any more 2001-11-21 Miguel de Icaza * ApplicationException.cs: internationalize by adding calls to Locale.GetText (). And throw NotImplementedExceptions on calls that we have to implement. * Version.cs: Ditto. * ValueType.cs: ditto. * UnauthorizedAccessException.cs: ditto. * UInt32.cs: ditto. * UInt64.cs: ditto. * UInt16.cs: ditto. * TypeLoadException.cs: ditto * TypeInitializationException.cs: ditto. * Type.cs: ditto. * TimeSpan.cs: ditto. * SystemException.cs: ditto. * String.cs: ditto. * StackOverflowException.cs: ditto.x * Single.cs: ditto. * SByte.cs: ditto. * RuntimeTypeHandle.cs: ditto. * RuntimeMethodHandle.cs: ditto. * RuntimeFieldHandle.cs: ditto. * Random.cs: ditto. * OutOfMemoryException.cs: ditto. * OperatingSystem.cs: ditto. * ObjectDisposedException.cs: ditto. * NullReferenceException.cs: ditto. * NotImplementedException.cs: ditto. * NotFiniteNumberException.cs: ditto.o * MulticastNotSupportedException.cs: ditto. * MissingMethodException.cs: ditto. * MemberAccessException.cs: ditto. * Math.cs: ditto. * InvalidCastException.cs: ditto. * IntegerFormatter.cs: ditto. * Int32.cs: ditto. * Int16.cs: ditto. * IndexOutOfRangeException.cs: ditto. * Environment.cs: ditto * Enum.cs: ditto. * DuplicateWaitObjectException.cs: ditto. * DivideByZeroException.cs: ditto. * Delegate.cs: ditto * DecimalFormatter.cs: ditto. * Decimal.cs: ditto. * DateTime.cs: ditto. * Convert.cs: ditto. * Char.cs: ditto. * Byte.cs: ditto. * Boolean.cs: ditto. * ArrayTypeMismatchException.cs: ditto. * ArithmeticException.cs: ditto. * ArgumentOutOfRangeException.cs: ditto. * ArgumentNullException.cs: ditto. * Enum.cs: Make it derive from ValueType, add CompareTo method. * Attribute.cs: Reformat. 2001-11-14 Miguel de Icaza * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32, UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the exception if the value is null too. * Char.cs (CompareTo): ditto. * ApplicationException.cs: Added constructor that does serialization. * ParamArrayAttribute.cs: Define attribute correctly. Wed Nov 14 16:31:19 CET 2001 Paolo Molaro * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf. * Array.cs: fix Array.Copy. * AssemblyLoadEventArgs.cs: rename field. * CLSCompliantAttribute.cs: use correct name for the class. * Char.cs: fix IsLetter. * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs, SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates. * Convert.cs: CLSCompliant updates, add ChangeType() methods. * Delegate.cs: renamed target field to m_target. * Enum.cs: added missing methods. * MonoType.cs: add a constructor and some needed properties. * Object.cs: implement GetType(). * String.cs: CLSCompliant updates. Fixes everywhere to remove the ending 0 char. * Type.cs: add missing methods/properties. 2001-11-10 Sean MacIsaac * AttributeUseage.cs: Should define AttributeUsageAttribute. * CLSCompliant.cs: Marked with AttributeUsage attribute. * Decimal.cs: Fixed CLSCompliant attributes. * Type.cs: changed _impl to internal (needs to be accessable by subclasses). (TypeHandle): Marked as abstract, implementation removed. (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor, GetMethod): Added stub implementations so NUnit would link against corlib Tue Nov 6 09:11:43 CET 2001 Paolo Molaro * AppDomain.cs: use an internal constructor for AssemblyBuilder. 2001-11-05 Miguel de Icaza * NonSerializedAttribute.cs: Add AttributeUsage rules for this attribute. Fri Nov 2 18:23:15 CET 2001 Paolo Molaro * String.cs: fix a couple of bugs. * AppDomain.cs: use new AppBuilder constructor. * Buffer.cs, GC.cs, NonSerializedAttribute.cs, NotImplementedException.cs, ObjectDisposedException.cs, UnauthorizedAccessException.cs: add implementation. * OverflowException.cs: fix class name. 2001-10-28 Jeffrey Stedfast * String.cs: Don't use a terminating nil char for our internal array. 2001-10-27 Miguel de Icaza * Delegate.cs (Delegate.CombineImpl): Implement. (Delegate.Combine): Implement. * MulticastDelegate.cs (MulticastDelegate.Equals): Implement. (MulticastDelegate.CombineImpl): This was not as trivial as I thought. * ContextStaticAttribute.cs: Added AttributeUsage to ContextStaticAttribute. * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute 2001-10-15 Martin Weindel * added Decimal.cs * added DecimalFormatter.cs (internal class used from System.Decimal) 2001-10-11 Thomas Neidhart * Convert.cs: Added methods for Base64 transforming just used the existing System.Security.Cryptography.ToBase64Transform, should be changed to use a stand-alone class, e.g. Base64Encoder 2001-10-10 Derek Holden * IntegerFormatter.cs: Added. Implements ToString for all the integer data types for all the format types. * Byte.cs: Using IntegerFormatter for ToString's. * SByte.cs: Using IntegerFormatter for ToString's. * Int16.cs: Using IntegerFormatter for ToString's. * Int32.cs: Using IntegerFormatter for ToString's. * Int64.cs: Using IntegerFormatter for ToString's. * UInt16.cs: Using IntegerFormatter for ToString's. * UInt32.cs: Using IntegerFormatter for ToString's. * UInt64.cs: Using IntegerFormatter for ToString's. 2001-10-07 Miguel de Icaza * Exception.cs: Implement bits of serialization. * RuntimeFieldHandle.cs: Implement Serialization features. * Type.cs: Implement TypeHandle property. 2001-09-28 Dick Porter * LocalDataStoreSlot.cs: Implemented Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro * String.cs: fix off-by-one error in Trim(). Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro * Type.cs: added GetType () method. Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro * MissingMethodException.cs, MissingMemberException.cs, MemberAccessException.cs: added. Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro * String.cs: don't access the string array out of bounds in LastIndexOf. * Type.cs: fix return type of the Assembly property. Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro * String.cs: make Intern and IsIntern internalcalls. 2001-09-13 Dick Porter * Type.cs: Added a stub for the IsValueType property. * SystemException.cs (System): Added the other constructor, so that System.Threading exceptions can inherit it. 2001-09-08 Jeffrey Stedfast * String.cs (TrimStart): Don't keep looping through the trimchars once we've found a match. (TrimEnd): Same here. (Trim): And finally here. 2001-09-07 Ravi Pratap * Char.cs (IsLetterOrDigit): Implement. (IsLower): Implement, but we need to be Unicode aware. (IsNumber): Implement. (IsPunctuation): Implement. (IsWhiteSpace): Implement. (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :) (ToLower): Same here. 2001-09-04 Miguel de Icaza * Object.cs: Shortcut, if (a == b) then return true. Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro * Delegate.cs: we need a pointer to the method thunk in the delegate object. Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro * AsyncCallback.cs, common.src: add AsyncCallback delegate. 2001-09-06 Jeffrey Stedfast * String.cs (System): Don't mix uint and int. 2001-09-04 Jeffrey Stedfast * String.cs (BoyerMoore): Modified to not use pointers and to instead use indexes. (IndexOf): Use BoyerMoore. 2001-09-02 Miguel de Icaza * All over: Use the autogenerated enumerations from the ECMA documentation that Sergey wrote. * PlatformID.cs: Add Unix definition. * OperatingSystem.cs: Use Unix instead of Linux here. * MarshalByRefObject.cs: Mark class as [Serializable]. 2001-08-28 Dietmar Maurer * Console.cs: impl. (write only) implemented the stdin stuff * Int32.cs: impl. real op_Equal 2001-08-24 Miguel de Icaza * (common.src): Removed IAsyncResult as it is not on CVS yet. * UIntPtr.cs: Removed CLSCompliant attribute before the namespace, as it breaks the build. 2001-08-23 Michael Lambert * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, added CLSCompliant attribute * IAsyncResult.cs: Added * common.src: Added IAsyncResult.cs 2001-08-23 Michael Lambert * UIntPtr.cs: Added * common.src: Added UIntPtr.cs 2001-08-20 Dietmar Maurer * Attribute.cs: uncomment some code to make it compile again * mono.src: removed duplicated Attribute.cs 2001-08-16 Nick Drochak * Attribute.cs: implemented all methods except GetHashCode() * common.src: added Attribute.cs so it would compile in 2001-08-10 Dietmar Maurer * Object.cs: changed MemberWiseClone to MemberwiseClone, and marked it as InternalCall * common.src: removed UriFormatException.cs because the file is not there. * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr * Char.cs: replaced byte with char * Array.cs: make it work with the mono interpreter 2001-08-06 Miguel de Icaza * Version.cs: Make the class sealed 2001-08-08 Bob Smith * Random.cs: Many compile fixes. * Random.cs: I read a bad spec. Class updated to match real spec. 2001-08-06 Miguel de Icaza * IntPtr.cs: Added and Completed implementation. * Uri.cs: Add a note. 2001-08-06 Bob Smith * Random.cs: Compile fix. Needs more testing. 2001-08-06 Garrett Rooney * Uri.cs: Initial Implementation. Parsing needs to be fixed to take into account IPv6 addresses, url encoding needs to be implemented, and various minor methods need to be written, but this is a decent start. 2001-08-06 Dietmar Maurer * common.src: added Object.cs * mono.src: added ValueType.cs 2001-08-02 Dietmar Maurer * Math.cs: replaced libc with libm 2001-08-02 Bob Smith * Random.cs: Implemented. Needs testing. 2001-08-02 Miguel de Icaza * IServiceProvider.cs, EventHandler.cs: New files. 2001-08-02 Marcel Narings * DateTime.cs: Cleaned up a bit. Added the Add* family members. Added exceptions. Added IConvertible. Still needs some platform dependend stuff, the Parse and ToString members 2001-08-01 Dietmar Maurer * Type.cs (GetTypeFromHandle): added placeholder 2001-07-24 Derek Holden * Boolean.cs: Formatted to code style standard. Added GetTypeCode which is really an IConvertible defined method. * Byte.cs: Added a missing Parse method. Put in Parse and ToString behavior, still need to do the main Parse and ToString. * Char.cs: Added a bunch of missing ECMA methods. Commented a specification discrepency. Still didn't any unicode stuff, though every IsFoo(char c) method has an IsFoo(string, index) counterpart, added wrappers for those. * Convert.cs: Fixed NaN/Inf checking and double/float rounding. Added ToType for IConvertible classes * Double.cs: Fixed ECMA min and max values. Added IsInfinity / IsNaN methods. Changed Inf/NaN internals. * IConvertible.cs: Added comments for using Convert.ToType. Changed return values to draft base values. * Int16.cs: Added a missing Parse statement. Put in behavior for overloaded ToString and Parse methods. * Int32.cs: Added a missing Parse statement. Put in behavior for overloaded ToString and Parse methods. * Int64.cs: Added a missing Parse statement. Put in behavior for overloaded ToString and Parse methods. * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN methods. Changed Inf/NaN internals. * SByte.cs: Added a missing Parse method. Put in Parse and ToString behavior, still need to do the main Parse and ToString. * UInt16.cs: Added a missing Parse statement. Put in behavior for overloaded ToString and Parse methods. * UInt32.cs: Added a missing Parse statement. Put in behavior for overloaded ToString and Parse methods. * UInt64.cs: Added a missing Parse statement. Put in behavior for overloaded ToString and Parse methods. 2001-07-20 Miguel de Icaza * MulticastDelegate.cs: New File. * Delegate.cs: New file. * Enum.cs: New file. * Attribute.cs: New file. * Type.cs: New file. * ParamArrayAttribute.cs: New file. * RuntimeTypeHandle.cs: New file. * MulticastDelegate.cs: Added. * DateTime.cs: Added * Delegate.cs: Added 2001-07-18 Michael Lambert * AttributeTargets.cs: Add. 2001-07-19 Jeffrey Stedfast * Char.cs: Made ToUpper and ToLower public methods. * String.cs: Lots and lots of compile fixes - just need to write DateTime.cs and this should build completely now. 2001-07-19 Bob Smith (bob@thestuff.net) * Math.cs: Implemented. 2001-07-19 Miguel de Icaza * String.cs: Removed tolower and toupper. * Char.cs: Moved ToLower and ToUpper from string to here. * Convert.cs ToByte (float value), ToByte (double value) Use IsNan instead of comparing the value to Nan. 2001-07-19 Duco Fijma (duco@lorentz.xs4all.nl) * TimeSpan.cs: New implementation. 2001-07-18 Scott Sanders * UriFormatExcpetion.cs: Add - 85% complete 2001-07-17 Jeffrey Stedfast * String.cs (IndexOf): Slight optimization that allows skipping over a few chars here and there. This isn't as good as using my Boyer-Moore implementation, however, Boyer-Moore is only really good for long strings (I plan on making the code decide which string search algorithm it should use on-the-fly at some point). (LastIndexOf): Fix to work correctly. (BoyerMoore): Took out some unneeded code and fixed an edge-case. 2001-07-16 Michael Lambert * EventArgs.cs: Add. 2001-07-16 Miguel de Icaza * Version.cs: Remove my buggy comment. 2001-07-15 Sean MacIsaac * String.cs: Spelling error of IComparable, object's MemberwiseClone cannot be overridden. Made indexer valid for now, but not sure what to do about this in the long run. Seems to be a couple bugs in csc.exe having to do with multiple pointer defs in the same statement, and returning subclasses of a class in the return type of an interface function implementation. Also moved operators inside of class definition. 2001-07-14 Jeffrey Stedfast * String.cs: A tom of compile fixes, although we still don't compile. * IConvertible.cs: The To*Int64() methods return *Int64's, not *Int32's. Also, it's ToDateTime() not ToDateType(). 2001-07-14 Jeffrey Stedfast * String.cs: Apparently I needed to at least write stubs for the IConvertible interfaces. *sigh* 2001-07-14 Jeffrey Stedfast * String.cs: Many logic/other fixes and better usage of the features of c# (tolower): New convenience method to help condense code. (toupper): Another new helper method. (Compare): Use the new helper methods. (ToLower): use tolower(). (ToUpper): use toupper(). (LastIndexOfAny): Implemented. (BoyerMoore): New private helper method that implements a modified version of the Boyer-Moore search algorithm. Noothing uses it yet as I'm not 100% sure it even works properly with unicode strings not to mention it uses a huge lookup-table :-) (Split): Implemented. 2001-07-13 Jeffrey Stedfast * TODO: Added things that need to be finished in System.String * String.cs: New source file implementing the System.String class 2001-07-12 Sean MacIsaac * TypeCode.cs: UInt64 was UInt63. * Object.cs: Fixed a numer of compiler errors. * Array.cs: Fixed some compiler errors. * IComparable.cs: Fixed some compiler errors. * ICloneable.cs: Fixed some compiler errors. * IConvertible.cs: Fixed some compiler errors. * IFormattable.cs: Fixed a compiler error. * IFormatProvider.cs: Fixed a compiler error. * IDisposable.cs: Fixed a compiler error. * IFormatProvider.cs: Added public accesability type to IFormatProvider. * Exception.cs: Added a using statement to remove compile time error. * ApplicationException.cs: Removed a ; that was causing a compiler error. * Int16.cs: Fixed some compiler errors. * Int32.cs: Fixed some compiler errors. * Int64.cs: Fixed some compiler errors. * SystemException.cs: Fixed a compiler error. * UInt16.cs: Fixed some compiler errors. * UInt32.cs: Fixed some compiler errors. * UInt64.cs: Fixed some compiler errors. * Void.cs: Fixed a compiler error. 2001-07-12 Joe Shaw * Array.cs: Fix backwards parameters to Array.SetValue() throughout. (BinarySearch): Fix backward logic surrounding whether to call value.CompareTo or comparer.Compare. (LastIndexOf): Stop being stupid. I am so not used to strongly bounded arrays... (Sort): Implement a quicksort. 2001-07-11 Joe Shaw * Array.cs: Change all instances of trying to access an array with the index operator to calls to GetValue and SetValue, and add InternalGetValue and InternalSetValue which are internal calls into the runtime. Ew. 2001-07-10 Joe Shaw * Array.cs: Implemented everything but Sort(). 2001-07-09 Jeffrey Stedfast * Object.cs (Object::Equals): Object variable name is `o'. 2001-07-06 Joe Shaw * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs: Implement the IComparable and IFormattable interfaces. Fix a typo (publig -> public) * ApplicationException.cs, ArgumentException.cs, ArgumentNullException.cs, ArgumentOutOfRangeException.cs, ArtithmeticException.cs, ArrayTypeMismatchException.cs, DivideByZeroException.cs, DuplicateWaitObjectException.cs, ExecutionEngineException.cs, FormatException.cs, IndexOutOfRangeException.cs, InvalidCastException.cs, InvalidOperationException.cs, InvalidProgramException.cs, MulticateNotSupportedException.cs, NotFiniteNumberException.cs, NotSupportedException.cs, NullReferenceException.cs, OutOfMemoryException.cs, OverflowException.cs, RankException.cs, StackOverflowException.cs, SystemException.cs, TypeInitializationException.cs: Added all of the exceptions specified by the language spec. Mmmm... bloat. 2001-07-06 Miguel de Icaza * Int64.cs, Int32.cs: Put. Parsing and ToString missing. Should do a generic routine all of these guys use. * Int16.cs: identified missing methods. * UInt16.cs, UInt32.cs, UInt64.cs: Add. 2001-06-26 Miguel de Icaza * TypeCode.cs: Implement * Void.cs: Implement. * TODO: Add file to keep track of pending tasks. * Object.cs, ValueType.cs: Implement.