* Hashtable.cs: Remove GetImpl and inline it.
[mono-project.git] / mcs / class / corlib / System.Collections / ChangeLog
blob4776de06ddd14732a2f87bebf8793e8798c17325
1 2004-12-20  Ben Maurer  <bmaurer@ximian.com>
3         * Hashtable.cs: Remove GetImpl and inline it.
4         
5         * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
6         == key (ie, they are the same pointer). In many cases, this will
7         avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
9         * Hashtable.cs (Find): Make `i' a uint rather than an int. This
10         avoids having a long compare.
12 2004-12-16  Lluis Sanchez Gual  <lluis@novell.com>
14         * Hashtable.cs: Check for null serialization info in OnDeserialization.
15         A hashtable subclass can fully override the constructor, so
16         serializationInfo would be null in this case. Fixes bug #70698.
18 2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
20         * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
22 2004-12-16  Lluis Sanchez Gual  <lluis@novell.com>
24         * Hashtable.cs: Add deserialized elements in OnDeserialization, since
25         when the serialization constructor is called, some of the elements
26         may not yet be fully deserialized. This fixes bug #70570.
28 2004-10-08  Raja R Harinath  <rharinath@novell.com>
30         * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
31         is not invariant, avoid an icall on every character.
33 2004-07-21  Geoff Norton <gnorton@customerdna.com>
35         * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
36           a snapshot out of sync error.
38 2004-07-21  Duncan Mak  <duncan@ximian.com>
40         * DictionaryBase.cs: Rename the dictionary field to hashtable,
41         which causes a serialization interop bug. Fixes bug #61721.
43 2004-06-18  Ben Maurer <bmaurer@ximian.com>
45         * IKeyComparer.cs: v2 class
47 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
49         * CaseInsensitiveComparer.cs: added TODO for serialization
50         * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
51         * SortedList.cs: added TODO for serialization
52         * Stack.cs: added TODO for serialization
54 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
56         * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
58 2004-06-14  Lluis Sanchez Gual  <lluis@ximian.com>
60         * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
62 2004-06-08  Lluis Sanchez Gual  <lluis@ximian.com>
64         * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization 
65           compatible with MS.NET.
67 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
69         * SortedList.cs: Fixed case where the initial capacity was set to 0.
71 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
73         * Hashtable.cs: Added ArgumentNullException in GetObjectData.
75 2004-05-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
77         * ChangeLog:
78         * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
79         I wonder why.
81 2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
83        * Compare.cs: ISerializable should only be implemented
84        for NET_1_1 profile
86 2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
88        * Compare.cs: Implemented ISerializable, fixes public API
90 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
92         * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
93         * Queue.cs: Fixed case where we could still get Current after the last 
94         MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
95         * SortedList.cs: Added missing ICloneable support to internal 
96         enumerator. Added Capacity to the synchronized version of SortedList.
97         Setting Capacity to 0 returns it to it's default value (16).
99 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
101         * ArrayList.cs: Fixed possible integer overflows.
103 2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>
105         * Hashtable.cs: Renamed internal class to make serialization compatible
106           with MS.NET.
108 2004-05-10  Gert Driesen (drieseng@users.sourceforge.net)
109         * Hashtable.cs: marked EnumeratorMode private
110         * SortedList.cs: marked EnumeratorMode private
112 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
114         * Comparer.cs: ensure culture is set to null , removed
115           static constructor, removed unneccesary checks
117 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
119         * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
120           set CurrentCulture, ensure culture is set to null for invariant case,
121           construct early
122         * Comparer.cs: Restyle, change lineendings
124 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
126         * CaseInsensitiveHashCodeProvider.cs
127         * CaseInsensitiveComparer.cs: Change lineendings
128         * CaseInsensitiveComparer.cs: Restyle
130 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
132         * BitArray.cs: Fix parameter names
133         * CaseInsensitiveHashCodeProvider.cs: Fix signature
134         * DictionaryEntry.cs: Fix parameter names
135         * Hashtable.cs: Fix signatures
136         * SortedList.cs: Fix signatures
138 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
140         * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
141           set CurrentCulture, Add null check to other constructor, Call correct function
142           for invariant case, ensure culture is set to null for invariant case, removed
143           static constructor, made invariant version available as internal in .Net 1.0
145 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
147         * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
148           Char.ToLower(c,culture), since it does not accept null as culture.
150 2004-04-20  Lluis Sanchez Gual  <lluis@ximian.com>
152         * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
153         interoperability). I also had to make some changes in the implementation:
154         I added a field _tail that points at the first free position in the array, and
155         changed the type of growFactor, which is now an int (its value is the old
156         growFactor * 100).
158 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
160         * Comparer.cs: Made constructor public.
162 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
164         * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
165         thread, not the one of the thread that created the instance.
166         * Comparer.cs: Added DefaultInvariant property and missing constructor.
167         Use the specified culture info to compare strings.
169 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
171         * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
172           Implemented property DefaultInvariant.
174 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
176         * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
177           (to allow serialization interoperability).
179 2004-03-18  David Sheldon <dave-mono@earth.li>
181   * Hashtable.cs: Serialise/Deserialise to two arrays of 
182    keys/values. This will match what MS.NET appears to be
183    doing.
185 2004-02-12  Jackson Harper  <jackson@ximian.com>
187         * SortedList.cs: Only .et 1.0 sets the capacity to a min of
188         initial size.
189         
190 2004-01-13  Lluis Sanchez Gual <lluis@ximian.com>
192         * Hashtable.cs: Added serialization support to SynchedHashtable. This
193         fixes bug #52741.
195 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
197         * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
198         (pcgod@gmx.net).
200 2003-12-26 Ben Maurer  <bmaurer@users.sourceforge.net>
202         * ArrayList.cs: Add class `SimpleEnumerator' this handles the
203         .GetEnumerator We are able to remove fields by doing this, the
204         sizeof the simple version is 75% of that of the complex one, so we
205         get a pretty nice saving.
207 2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>
209         * ArrayList.cs: Renamed private fields m_Count, m_Data and
210         m_StateChanges to _size, _items and _version, to make it compatible with
211         MS.NET (needed for remoting interoperability). This fixes bug #52438.
213 2003-12-01  Dick Porter  <dick@ximian.com>
215         * CaseInsensitiveComparer.cs: Construct the default comparers when
216         they're needed, to avoid a dependency loop with CultureInfo's
217         constructor.
219 2003-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
221         * Queue.cs: patch from Carlos Barcenilla.
222         public class Queue
223                 - method: ICollection.Clone()
224                 - Optimized. Removed unneeded instructions.
225                 - method: public static Queue Synchronized (Queue queue)
226                 - ArgumentNullException.ParamName must be "queue", not null.
227                 - method: public virtual void TrimToSize()
228                 - Must increment modCount.
230         private class SyncQueue
231                 - method: public override object Clone ()
232                 - Must return a synchronized (SyncStack) instance.
233                 - method: public override void TrimToSize ()
234                 - Not implemented.
236 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
238         * IEnumerator.cs: Added missing attribute
240 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
242         * CaseInsensitiveComparer.cs: Add missing method.
244 2003-11-10  Zoltan Varga  <vargaz@freemail.hu>
246         * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
247         bugs (#50755).
249 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
251         * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
253 2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
255         * System.Collections/Hashtable.cs: patch from Carlos A.
256         Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
257         Hashtable + NUnit2 tests.
259 2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
261         * Queue.cs: nullify the array in Clear.
263 2003-09-26  Zoltan Varga  <vargaz@freemail.hu>
265         * Hashtable.cs: Remove empty static constructor since it prevents this
266         class from being beforefieldinit.
268 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
270         * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
272 2003-08-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
274         * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
275         bug #47789.
277 2003-08-20  Duncan Mak  <duncan@ximian.com>
279         * Hashtable.cs (PutImpl): Fix my previous checkin, see details
280         posted on bug #47692.
282         I really hope I don't mess up this time, because, if I do again,
283         it will be really embarrassing.
285 2003-08-17  Duncan Mak  <duncan@ximian.com>
287         * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
288         Currently Hashtable.PutImpl has an incorrect test which causes the
289         key chain search to terminate as soon as a free slot is found,
290         causing key duplication.
292         This fixes bug #47692.
294 2003-08-11  Duncan Mak  <duncan@ximian.com>
296         * DictionaryBase.cs: Applied patch from Carlos Barcenilla
297         (barce@frlp.utn.edu.ar).
298         
299         (Idictionary.Add): Added OnValidate, and undo the transaction if
300         OnInsertCompleteFails.
302         (Indexer set): MS Implementation does not call OnInsert and undoes
303         if OnSetComplete throws an exception
304         (Indexer get): return value is obtained after calling OnGet.
306         (IDictionary.Remove): Call to OnValidate added. If key does not
307         exists calls OnValidate, OnRemove and OnRemoveComplete.
309         (protected IDictionary Dictionary get): Should return itself, not
310         the inner hashtable.
312         This fixes bug #47460.
314 2003-08-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
316         * CollectionBase.cs: applied patch from Carlos Barcenilla
317         (barce@frlp.utn.edu.ar).
319 2003-08-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
321         * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
322         * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
323         (barce@frlp.utn.edu.ar). Most of the patch is also his.
325 2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
327         * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
329 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
331         * ArrayList.cs: Deployed ArrayList from Tum;  Fixed iterator to
332         allow nulls, and inline a few calls to make profiling more useful.
334 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
336         * ArrayList.cs: Removed MonoTODO.
338 2003-07-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
340         * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
341         Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
343 2003-06-27  Duncan Mak  <duncan@ximian.com>
345         * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
346         returning DictionaryEntrys, instead of just the Key of the table.
348 2003-06-26  Lluis Sanchez Gual  <lluis@ximian.com>
350         * Hashtable.cs: Fixed bug when serializing and deserializing
351           a hashtable from which one element has been deleted. The Object instance
352           used as a removed marker is not detected as a such, since the
353           serializer creates a different instace.
355 2003-06-13  Herve Poussineau  <hpoussineau@fr.st>
357         * SortedList.cs: Can enumerate on DictionaryEntries, not only on
358         keys on values. Enumerate by default on DictionaryEntries.
360 2003-06-12  Duncan Mak  <duncan@ximian.com>
362         * Hashtable.cs (constructor):
363         if loadFactor equals Single.NaN, then throw an
364         ArgumentOutOfRangeException.
366         if we set capacity to be too big (ie. capacity / loadFactor is
367         greater than Int32.MaxValue), then we throw an ArgumentException.
369 2003-06-11  Duncan Mak  <duncan@ximian.com>
371         * SortedList.cs: Oi! What a mess.
373         If the list was constructed using the null-param constructor, and
374         it tries to set it to a size lower than the default, let it do so.
376         If the list was constructed with a specific size, and it tries to
377         set it to a size lower than the specified size, set it to the
378         default size.
380         (IndexOfValue): Clean up the code somewhat, make it allow for
381         values to be null.
383 2003-06-08  Ben Maurer <bmaurer@users.sourceforge.net>
384         * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
385         checking
387 2003-06-07  Ben Maurer <bmaurer@users.sourceforge.net>
388         * Stack.cs: Contains (null) works correctly. We never have the
389         array sized less than 16, so that the doubling logic works no
390         matter what. The enumerator is IClonable, like in ms. The
391         Enumerator correctly throws an exception if Current is called
392         before the enumerator is started. We now pass all the Rotor tests
393         for this file!
395 2003-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
397         * Stack.cs: fixed Clone ().
399 2003-06-04  Ben Maurer <bmaurer@users.sourceforge.net>
400         * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
401         failures
403 2003-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
405         * ArrayList.cs: nullify the array in Clear ().
406         * Queue.cs: nullify the array in Dequeue ().
407         * Stack.cs: nullify the array in Pop ().
409 2003-06-02  Ben Maurer <bmaurer@users.sourceforge.net>
410         * Queue.cs: Added argument checking in constructors according to
411         specs. Also changed default size to 32 as required by the specs.
413 2003-05-31  Ben Maurer <bmaurer@users.sourceforge.net>
414         * BitArray.cs: Rewrote, as it was failing most of the Rotor
415         tests. It now passes them 100%. Also fixes bug #43667.
417 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
418 * ArrayList.cs
419         Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
421 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
422 * ArrayList.cs
423         Added methods to support IList wrappers
425 2003-04-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
427         * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
428         that fixes bug #41684.
430 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
432         * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
433         like MS.NET) and implemented the
434         CaseInsensitiveComparerTest(culture) constructor.
436 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
438         * Queue.cs: fixed bug #39046.
440 2003-02-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
442         * Hashtable.cs: Make hashtable serializable (at least with binary
443         formatter). This process was started by the Hashtable maintainer.
445 2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
447         * ArrayList.cs: fixed setSize (!).
449 2003-01-31  Zoltan Varga  <vargaz@freemail.hu>
451         * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
452         here, since RemoveAt raises a different exception than RemoveRange
453         when the index is out-of-range. Fixes the ArrayList unit tests.
455         * ArrayList.cs (RemoveRange): fixed indentation.
457 2003-01-12  Varga Zoltan <vargaz@freemail.hu>
459         * ArrayList.cs (RemoveRange): Patch for allowing zero-size
460         removal at the end of a list. It also cleans up the argument
461         checking code so the raised exceptions have the same message as
462         under MS.NET.
464 2003-01-10  Duncan Mak  <duncan@ximian.com>
466         * ArrayList.cs (Insert): Patch from Zoltan
467         (Zoltan.2.Varga@nokia.com).
469 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
471         * Hashtable.cs: add the key to the error message when
472         'key duplication'.
474 2002-10-15  Vladimir Vukicevic  <vladimir@pobox.com>
476         * Queue.cs: update new capacity in grow(), preventing queue from
477         constantly looping over old elements in Dequeue(). Also use
478         capacity instead of contents.Length in Enqueue().
480 2002-09-24  Nick Drochak  <ndrochak@gol.com>
482         * ArrayList.cs: Make enumerator throw exception if the ArrayList is
483         mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
484         this was passed as parameter.
486 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
488         * ArrayList.cs: fixed bug #29658.
490 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
492         * ArrayList.cs:
493         * BitArray.cs:
494         * CaseInsensitiveComparer.cs:
495         * CaseInsensitiveHashCodeProvider.cs:
496         * IEnumerable.cs:
497         * Queue.cs: misc. fixes based on class status page.
499 2002-07-22  Tim Coleman  <tim@timcoleman.com>
500         * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
501                 which was breaking System.Web build on linux
503 2002-07-05  Sergey Chaban <serge@wildwestsoftware.com>
505         * SortedList.cs: Implemented thread-safe wrapper. Changed some
506         args to camelCase.
508 2002-07-02  Nick Drochak  <ndrochak@gol.com>
510         * SortedList.cs: Constructors should use the capacity given regardless 
511         how small. After a Clear() the Capacit should be 16. Since a Dictionary
512         might be used in the constructor, make sure we trap exceptions thrown
513         by the Comparer, like in Add().
515 2002-06-30  Nick Drochak  <ndrochak@gol.com>
517         * SortedList.cs: Many fixed. A lot of checking for null and throwing
518         exceptions.  A few logic bugs fixed as well
520 2002-06-25   Nick Drochak  <ndrochak@gol.com>
522         * Queue.cs (CopyTo): Fix logic for copying the circular array.
523         (Enqueue): Use actual length of array to determine when to grow
524         (QueueEnumerator) Fixed Current to use array length, not capacity, and
525         fixed off-by-one errror in MoveNext().
527 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
529         * ArrayList.cs: fixed RemoveAt() implementation.
531 2002-05-27  Nick Drochak  <ndrochak@gol.com>
533         * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
534         fix check of parameters sent to make sure we don't search beyond the
535         beginning of the list.
536         (ListWrapper): Throw exception if called with null.
537         We now pass all unit tests.
539 2002-05-23  Duncan Mak  <duncan@ximian.com>
541         * ArrayList.cs (Wrapper): Preliminary implementation of
542         ArrayList.Wrapper (IList).
544 2002-05-22  Martin Baulig  <martin@gnome.org>
546         * ArrayList.cs: Made count, capacity and dataArray the first three
547         fields in the class.  They're read by the reflection library.
549 2002-05-21  Lawrence Pit  <loz@cable.a2000.nl>
551         * ArrayList.cs: Fixed bug where a capacity of 0 could be reached, 
552         thereby causing problems when trying to add elements.
554 2002-05-06  Duncan Mak  <duncan@ximian.com>
556         * Queue.cs (TrimToSize): Implemented.
557         
558 2002-05-05  Nick Drochak  <ndrochak@gol.com>
560         * ArrayList.cs: Throw RankException when constructing from a 
561         multi-dimensional array. Confirmed behavior from MS.NET
563 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
565         * ArrayList.cs: make mcs compile again: it's allowed to
566         call arraylist.CopyTo(array, 0) when the length of the array
567         is also 0.
569 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
571         * SortedList.cs: fix RemoveAt () to use the correct length in
572         Array.Copy.
574 2002-05-01  Nick Drochak  <ndrochak@gol.com>
576         * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
578 2002/05/01  Nick Drochak <ndrochak@gol.com>
580         * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
581         where needed.
583 2002/04/30  Nick Drochak <ndrochak@gol.com>
585         * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
586                 (InsertRange) : Implement.
587                 (SetRange) : Implement.
589 2002-04-30  Nick Drochak  <ndrochak@gol.com>
591         * ArrayList.cs (TrimToSize) : Implement.
593 2002-04-28  Duncan Mak  <duncan@ximian.com>
595         * ArrayList.cs (InsertRange): 
596         (SetRange):
597         (Remove):
598         (TrimToSize): Throw exceptions where needed.
600 2002-04-29  Nick Drochak  <ndrochak@gol.com>
602         * Hashtable.cs (CopyTo): Throw exceptions where needed.
604 2002-04-28  Duncan Mak  <duncan@ximian.com>
606         * ArrayList.cs (ReadOnly):
607         (IList.ReadOnly): Implemented.
609         (Synchronized):
610         (IList.Synchronized): Implemented.
612         (ixedSize):
613         (IList.FixedSize): Implemented.
615 2002-03-24  Duncan Mak  <duncan@ximian.com>
617         * SortedList.cs (Synchronized): Stubbed out a missing method
618         pointed out by Jakk Simm's test suite.
620 2002-03-14  Nick Drochak  <ndrochak@gol.com>
622         * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
623         other FixedSize() methods returns an IList.
625 2002-03-13  Duncan Mak  <duncan@ximian.com>
627         * ArrayList.cs (FixedSize): Changed the return type to IList if
628         the argument is an IList.
629         (Synchronized): Ditto here.
631 2002-03-08  Sergey Chaban <serge@wildwestsoftware.com>
633         * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
634         Removed unused code from static constructor.
635         GetObjectData () - Version is the same as modificationCount.
637 2002-02-20  Nick Drochak  <ndrochak@gol.com>
639         * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
640         by Bucky's tests. Implement a couple of things that were left undone.
642 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
644         * ArrayList.cs: Dick's fix to contructor.
646 2002-02-07  Duncan Mak  <duncan@ximian.com>
648         * Hashtable.cs: Implemented parts of the ISerializable
649         interface. GetObjectData () is good, but serialization constructor
650         needs some more love.
652 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
654         * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
656 2002-01-04  Ravi Pratap  <ravi@ximian.com>
658         * Correct name to MonoTODO everywhere.
660 2002-01-04  Ravi Pratap  <ravi@ximian.com>
662         * ArrayList.cs : Setting an index does not implicitly
663         extend the arraylist : remove FIXME.
665         Decorate incomplete elements with the TODO attribute.
667         * BitArray.cs : Insert TODO attributes where appropriate.
669         * CaseInsensitiveHashcodeProvider.cs: Ditto.
671         * Hashtable.cs, SortedList.cs : Ditto.
672         
673 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
675         * ArrayList.cs: implemented AddRange(), CopyTo().
677 2001-11-19  Miguel de Icaza  <miguel@ximian.com>
679         * DictionaryBase.cs: Implemented.
681 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
683         * ArrayList.cs: implement ArrayListEnumerator.
684         * Hashtable.cs: hardcode the prime number table.
686 2001-11-06 Nick Drochak <ndrochak@gol.com>
687         * Queue.cs: Fixes from Ricardardo.  QueueTest also updated.
689 2001-11-04 Nick Drochak <ndrochak@gol.com>
690         * Queue.cs: Fixed small syntax errors that were preventing the compile.
691         I changed the build file to include Queue.cs as well.
693 2001-11-04 Nick Drochak <ndrochak@gol.com>
694         * ArrayList.cs: Fixed "off by one" error when shifting left the array when
695         items are removed.
697         * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
698         hook methods to the RemoveAt() method.
700 2001-11-04 Nick Drochak <ndrochak@gol.com>
701         * ArrayList.cs: Added private enumerator class and make GetEnumerator()
702         methods return an instance of it.
704 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
706         * ArrayList.cs: fix Insert () to check capacity, not count.
708 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
710         * DictionaryEntry.cs: added.
712 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
714         * common.src: removed duplicate entries
716 2001-08-08 Nick Drochak <ndrochak@gol.com>
718          * ReadOnlyCollectionBase.cs: Initialized private member.
719          * CollectionBase.cs: Initialized private member.
720          * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
721          * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
722          * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
724 2001-08-08 Nick Drochak <nick@jobdragon.com>
726          * CollectionBase.cs: Add
727          * ReadOnlyCollectionBase.cs: Add
728          * CollectionBaseTest.cs: Add
729          * ReadOnlyCollectionBaseTest.cs: Add
731 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
733         * StackTest.cs: Add Test case for System.Collections.Stack.  
734         Contributed by Chris Hynes <chrish@assistedsolutions.com>
736 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
738         * Stack.cs: Clone() doesn't need to check if it's synchronized, since 
739         we override it in SyncStack anyway...  
741         * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to 
742         avoid using massive amounts of memory that are not necessary.  We only 
743         drop to half the current size, which I hope will avoid the 'ping-pong' 
744         effect.
746         * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly 
747         instead of just returning false, since we may have a ReadOnly wrapper 
748         in the future (although i can't imagine why).  Thanks to David 
749         Menestrina <dmenest@yahoo.com> for pointing this out.
751 2001-07-23  Sergey Chaban <serge@wildwestsoftware.com>
753         *  Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
754            From now, Clear() increases modification count.
755            Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
756            instead of hcp.GetHashCode(key). This was resulted in the
757            insanely long lookup times when HashCodeProvider was used to
758            construct Hashtable. Added thread-safe wrapper.
760 2001-07-16  David Menestrina <dmenest@yahoo.com>
762          * BitArray.cs: Add
763          * BitArrayTest.cs: Add
765 2001-07-18  Miguel de Icaza  <miguel@ximian.com>
767         * IDictionary.cs (Collections): IDictionary implements ICollection
768         as well.  Thanks Sergey!
770 2001-07-18  Garrett Rooney  <rooneg@electricjellyfish.net>
772         * Stack.cs Removed unnecessary locking from many methods of 
773         SyncStack, removed SyncEnumerator because it was unnecessary, 
774         added a modCount member to Stack and Stack.Enumerator, to 
775         ensure that the Stack has not been modified out form under the 
776         Enumerator, and changed the Enumerator to use a reference to the 
777         stack rather than copying over the contents array.
779 2001-07-17  David Menestrina  <dmenest@yahoo.com>
781         * Added implementation of BitArray.
783 2001-07-17  Miguel de Icaza  <miguel@ximian.com>
785         * Hashtable.cs: Removed call to d.Count in the Hashtable
786         constructor that takes an IDictionary as IDictionary does not
787         provide a Count field.
789 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
791         * IDictionary.cs: Clear was clear.
793 2001-07-13  Miguel de Icaza  <miguel@ximian.com>
795         * All files: Renamespace things to System.
797 2001-07-05  Vladimir Vukicevic  <vladimir@ximian.com>
799         * ArrayList.cs: initial checkin and implementation
801         * ICollection.cs, IComprarer.cs, IDictionary.cs,
802           IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
803           IList.cs: initial checkin