2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
[mono.git] / mcs / class / corlib / System.Collections / ChangeLog
index 2912a0c2431ea154ea03cc2dbf448c8d9723577c..c5b3d8fc83149c206b351cada614d9fbb0fd9c2a 100644 (file)
@@ -1,3 +1,359 @@
+2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * BitArray.cs: Fix parameter names
+       * CaseInsensitiveHashCodeProvider.cs: Fix signature
+       * DictionaryEntry.cs: Fix parameter names
+       * Hashtable.cs: Fix signatures
+       * SortedList.cs: Fix signatures
+
+2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
+         set CurrentCulture, Add null check to other constructor, Call correct function
+         for invariant case, ensure culture is set to null for invariant case, removed
+         static constructor, made invariant version available as internal in .Net 1.0
+
+2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
+         Char.ToLower(c,culture), since it does not accept null as culture.
+
+2004-04-20  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
+       interoperability). I also had to make some changes in the implementation:
+       I added a field _tail that points at the first free position in the array, and
+       changed the type of growFactor, which is now an int (its value is the old
+       growFactor * 100).
+
+2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Comparer.cs: Made constructor public.
+
+2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
+       thread, not the one of the thread that created the instance.
+       * Comparer.cs: Added DefaultInvariant property and missing constructor.
+       Use the specified culture info to compare strings.
+
+2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
+         Implemented property DefaultInvariant.
+
+2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
+         (to allow serialization interoperability).
+
+2004-03-18  David Sheldon <dave-mono@earth.li>
+
+  * Hashtable.cs: Serialise/Deserialise to two arrays of 
+   keys/values. This will match what MS.NET appears to be
+   doing.
+
+2004-02-12  Jackson Harper  <jackson@ximian.com>
+
+       * SortedList.cs: Only .et 1.0 sets the capacity to a min of
+       initial size.
+       
+2004-01-13  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * Hashtable.cs: Added serialization support to SynchedHashtable. This
+       fixes bug #52741.
+
+2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
+       (pcgod@gmx.net).
+
+2003-12-26 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * ArrayList.cs: Add class `SimpleEnumerator' this handles the
+       .GetEnumerator We are able to remove fields by doing this, the
+       sizeof the simple version is 75% of that of the complex one, so we
+       get a pretty nice saving.
+
+2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * ArrayList.cs: Renamed private fields m_Count, m_Data and
+       m_StateChanges to _size, _items and _version, to make it compatible with
+       MS.NET (needed for remoting interoperability). This fixes bug #52438.
+
+2003-12-01  Dick Porter  <dick@ximian.com>
+
+       * CaseInsensitiveComparer.cs: Construct the default comparers when
+       they're needed, to avoid a dependency loop with CultureInfo's
+       constructor.
+
+2003-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Queue.cs: patch from Carlos Barcenilla.
+       public class Queue
+               - method: ICollection.Clone()
+               - Optimized. Removed unneeded instructions.
+               - method: public static Queue Synchronized (Queue queue)
+               - ArgumentNullException.ParamName must be "queue", not null.
+               - method: public virtual void TrimToSize()
+               - Must increment modCount.
+
+       private class SyncQueue
+               - method: public override object Clone ()
+               - Must return a synchronized (SyncStack) instance.
+               - method: public override void TrimToSize ()
+               - Not implemented.
+
+2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * IEnumerator.cs: Added missing attribute
+
+2003-11-12  Miguel de Icaza  <miguel@ximian.com>
+
+       * CaseInsensitiveComparer.cs: Add missing method.
+
+2003-11-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
+       bugs (#50755).
+
+2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
+
+2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * System.Collections/Hashtable.cs: patch from Carlos A.
+       Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
+       Hashtable + NUnit2 tests.
+
+2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Queue.cs: nullify the array in Clear.
+
+2003-09-26  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Hashtable.cs: Remove empty static constructor since it prevents this
+       class from being beforefieldinit.
+
+2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
+
+2003-08-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
+       bug #47789.
+
+2003-08-20  Duncan Mak  <duncan@ximian.com>
+
+       * Hashtable.cs (PutImpl): Fix my previous checkin, see details
+       posted on bug #47692.
+
+       I really hope I don't mess up this time, because, if I do again,
+       it will be really embarrassing.
+
+2003-08-17  Duncan Mak  <duncan@ximian.com>
+
+       * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
+       Currently Hashtable.PutImpl has an incorrect test which causes the
+       key chain search to terminate as soon as a free slot is found,
+       causing key duplication.
+
+       This fixes bug #47692.
+
+2003-08-11  Duncan Mak  <duncan@ximian.com>
+
+       * DictionaryBase.cs: Applied patch from Carlos Barcenilla
+       (barce@frlp.utn.edu.ar).
+       
+       (Idictionary.Add): Added OnValidate, and undo the transaction if
+       OnInsertCompleteFails.
+
+       (Indexer set): MS Implementation does not call OnInsert and undoes
+       if OnSetComplete throws an exception
+       (Indexer get): return value is obtained after calling OnGet.
+
+       (IDictionary.Remove): Call to OnValidate added. If key does not
+       exists calls OnValidate, OnRemove and OnRemoveComplete.
+
+       (protected IDictionary Dictionary get): Should return itself, not
+       the inner hashtable.
+
+       This fixes bug #47460.
+
+2003-08-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * CollectionBase.cs: applied patch from Carlos Barcenilla
+       (barce@frlp.utn.edu.ar).
+
+2003-08-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
+       * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
+       (barce@frlp.utn.edu.ar). Most of the patch is also his.
+
+2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
+
+2003-07-29  Miguel de Icaza  <miguel@ximian.com>
+
+       * ArrayList.cs: Deployed ArrayList from Tum;  Fixed iterator to
+       allow nulls, and inline a few calls to make profiling more useful.
+
+2003-07-24  Miguel de Icaza  <miguel@ximian.com>
+
+       * ArrayList.cs: Removed MonoTODO.
+
+2003-07-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
+       Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
+
+2003-06-27  Duncan Mak  <duncan@ximian.com>
+
+       * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
+       returning DictionaryEntrys, instead of just the Key of the table.
+
+2003-06-26  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * Hashtable.cs: Fixed bug when serializing and deserializing
+         a hashtable from which one element has been deleted. The Object instance
+         used as a removed marker is not detected as a such, since the
+         serializer creates a different instace.
+
+2003-06-13  Herve Poussineau  <hpoussineau@fr.st>
+
+       * SortedList.cs: Can enumerate on DictionaryEntries, not only on
+       keys on values. Enumerate by default on DictionaryEntries.
+
+2003-06-12  Duncan Mak  <duncan@ximian.com>
+
+       * Hashtable.cs (constructor):
+       if loadFactor equals Single.NaN, then throw an
+       ArgumentOutOfRangeException.
+
+       if we set capacity to be too big (ie. capacity / loadFactor is
+       greater than Int32.MaxValue), then we throw an ArgumentException.
+
+2003-06-11  Duncan Mak  <duncan@ximian.com>
+
+       * SortedList.cs: Oi! What a mess.
+
+       If the list was constructed using the null-param constructor, and
+       it tries to set it to a size lower than the default, let it do so.
+
+       If the list was constructed with a specific size, and it tries to
+       set it to a size lower than the specified size, set it to the
+       default size.
+
+       (IndexOfValue): Clean up the code somewhat, make it allow for
+       values to be null.
+
+2003-06-08  Ben Maurer <bmaurer@users.sourceforge.net>
+       * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
+       checking
+
+2003-06-07  Ben Maurer <bmaurer@users.sourceforge.net>
+       * Stack.cs: Contains (null) works correctly. We never have the
+       array sized less than 16, so that the doubling logic works no
+       matter what. The enumerator is IClonable, like in ms. The
+       Enumerator correctly throws an exception if Current is called
+       before the enumerator is started. We now pass all the Rotor tests
+       for this file!
+
+2003-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Stack.cs: fixed Clone ().
+
+2003-06-04  Ben Maurer <bmaurer@users.sourceforge.net>
+       * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
+       failures
+
+2003-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ArrayList.cs: nullify the array in Clear ().
+       * Queue.cs: nullify the array in Dequeue ().
+       * Stack.cs: nullify the array in Pop ().
+
+2003-06-02  Ben Maurer <bmaurer@users.sourceforge.net>
+       * Queue.cs: Added argument checking in constructors according to
+       specs. Also changed default size to 32 as required by the specs.
+
+2003-05-31  Ben Maurer <bmaurer@users.sourceforge.net>
+       * BitArray.cs: Rewrote, as it was failing most of the Rotor
+       tests. It now passes them 100%. Also fixes bug #43667.
+
+2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
+* ArrayList.cs
+       Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
+
+2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
+* ArrayList.cs
+       Added methods to support IList wrappers
+
+2003-04-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
+       that fixes bug #41684.
+
+2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
+
+       * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
+       like MS.NET) and implemented the
+       CaseInsensitiveComparerTest(culture) constructor.
+
+2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Queue.cs: fixed bug #39046.
+
+2003-02-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
+
+       * Hashtable.cs: Make hashtable serializable (at least with binary
+       formatter). This process was started by the Hashtable maintainer.
+
+2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ArrayList.cs: fixed setSize (!).
+
+2003-01-31  Zoltan Varga  <vargaz@freemail.hu>
+
+       * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
+       here, since RemoveAt raises a different exception than RemoveRange
+       when the index is out-of-range. Fixes the ArrayList unit tests.
+
+       * ArrayList.cs (RemoveRange): fixed indentation.
+
+2003-01-12  Varga Zoltan <vargaz@freemail.hu>
+
+       * ArrayList.cs (RemoveRange): Patch for allowing zero-size
+       removal at the end of a list. It also cleans up the argument
+       checking code so the raised exceptions have the same message as
+       under MS.NET.
+
+2003-01-10  Duncan Mak  <duncan@ximian.com>
+
+       * ArrayList.cs (Insert): Patch from Zoltan
+       (Zoltan.2.Varga@nokia.com).
+
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Hashtable.cs: add the key to the error message when
+       'key duplication'.
+
+2002-10-15  Vladimir Vukicevic  <vladimir@pobox.com>
+
+       * Queue.cs: update new capacity in grow(), preventing queue from
+       constantly looping over old elements in Dequeue(). Also use
+       capacity instead of contents.Length in Enqueue().
+
+2002-09-24  Nick Drochak  <ndrochak@gol.com>
+
+       * ArrayList.cs: Make enumerator throw exception if the ArrayList is
+       mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
+       this was passed as parameter.
+
 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * ArrayList.cs: fixed bug #29658.
@@ -316,4 +672,3 @@ Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
        * ICollection.cs, IComprarer.cs, IDictionary.cs,
          IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
          IList.cs: initial checkin
-