1 2006-08-16 Miguel de Icaza <miguel@novell.com>
3 * Hashtable.cs (PutImpl): Do not access the table twice, only
6 (TestPrime): optimize, take the sqrt out of the loop.
8 2006-08-08 Duncan Mak <duncan@novell.com>
10 * ReadOnlyCollectionBase.cs (Count): Mark as virtual in
11 NET_2_0. Fixes #79033.
13 2006-04-26 Atsushi Enomoto <atsushi@ximian.com>
15 * Comparer.cs : changed internal field from CultureInfo to
16 CompareInfo. This cosmetic change should fix bug #77701.
18 2006-03-28 Marek Safar <marek.safar@seznam.cz>
20 * Stack.cs: Changed ctor to allocate only requested memory.
22 Tue Feb 28 14:16:25 CET 2006 Paolo Molaro <lupus@ximian.com>
24 * BitArray.cs: reintroduce optimization carelessly removed by
27 2006-02-03 Sebastien Robitaille <sebastien.robitaille@croesus.com>
29 * BitArray.cs: Renamed members for interoperability with MS.
31 Tue Jan 24 18:24:00 CET 2006 Paolo Molaro <lupus@ximian.com>
33 * BitArray.cs: optimize bit access by removing expensive
36 2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
38 * Hashtable.cs: Mark all inner classes as [Serializable] to match MS
39 behaviour. Fix bug #76300.
41 2005-12-19 Sebastien Pouliot <sebastien@ximian.com>
43 * ArrayList.cs: Fix default capacity under 2.0 (and unit tests under
46 2005-12-07 Sebastien Pouliot <sebastien@ximian.com>
48 * SortedList.cs: Removed check for IComparable in ctor (fixed bug
49 #76750). Removed unused private method. Added more useful info (the
50 duplicate key) to an exception.
52 2005-12-06 Sebastien Pouliot <sebastien@ximian.com>
54 * CaseInsensitiveHashCodeProvider: Serialization is now compatible
55 with MS. Removes the last TODO for 1.1 in this namespace :-)
57 2005-12-05 Sebastien Pouliot <sebastien@ximian.com>
59 * Comparer.cs: Added GetObjectData method to implement ISerializable.
61 2005-09-29 Miguel de Icaza <miguel@novell.com>
63 * Add ComVisible(true) to all the classes that needed it.
65 * Removed documentation from DictionaryBase.cs and moved it to
68 * ArrayList.cs: Fixed signature for constructor, parameter names
71 * CollectionBase.cs: Add a couple of missing methods.
73 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
75 * Hashtable.cs : SyncHashtable.GetEnumerator() returned keys instead
76 of entries (DictionaryEntry). Fixed bug #75790.
78 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
80 * SortedList.cs : Even though the key/value pair being set are
81 identical to the existing one, it causes snapshot out of sync.
84 2005-07-21 Lluis Sanchez Gual <lluis@novell.com>
86 * CollectionBase.cs: Lazily create the inner list. MS.NET does
87 it and we need to do the same for the sake of serialization
88 interoperability. Fixes bug #75575.
90 2005-07-17 Florian Gross <flgr@ccan.de>
92 * ArrayList.cs: pass along index offset in RangedArrayList:ToArray.
95 2005-06-23 Ben Maurer <bmaurer@ximian.com>
97 * Queue.cs: Use the enumerator rather than copy to in the
98 ctor. This makes us more compat with msft, for example, when
103 2005-06-23 Martin Baulig <martin@ximian.com>
105 * IKeyComparer.cs: Removed.
107 2005-06-12 David Waite <dwaite@gmail.com>
109 * Hashtable.cs: make prime-related functions internal so generic
110 Dictionary can use them.
111 * IEqualityComparer.cs: add non-generic IEqualityComparer interface
113 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
115 * Hashtable.cs: Add some missing 2.0 attributes.
117 2005-05-26 Ben Maurer <bmaurer@ximian.com>
119 * Queue.cs (grow): fix 61919.
121 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
123 * Stack.cs : empty_stack.CopyTo(empty_array, 0) should be allowed.
125 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
127 * Hashtable.cs: Add net 2.0 ReliabilityContractAttributes.
129 2005-02-19 Kazuki Oikawa <kazuki@panicode.com>
131 * SortedList.cs, Stack.cs: Reverse the order in the Equals calls.
133 2004-12-21 Ben Maurer <bmaurer@ximian.com>
135 * Hashtable.cs (get_Item): duplicate Find here, as we can
136 specialize a few things. This gives me 7% back.
137 (Find) Use break rather than return -1. Saves a bit of code.
139 * Hashtable.cs (GetHash): Avoid a method call. Also, don't store
140 the this.hcpRef in a variable. This will create another register
141 which must be pushed on the stack. It is better to just reference
142 the variable again. hcpRef.GetHashCode (key) is the slow path
143 anyways, so an extra variable reference here doesn't hurt
146 This gives me a few % back in a raw benchmark.
148 2004-12-20 Ben Maurer <bmaurer@ximian.com>
150 * Hashtable.cs (Find): Some minor optimizations here.
152 * Hashtable.cs: Remove GetImpl and inline it.
154 * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
155 == key (ie, they are the same pointer). In many cases, this will
156 avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
158 * Hashtable.cs (Find): Make `i' a uint rather than an int. This
159 avoids having a long compare.
161 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
163 * Hashtable.cs: Check for null serialization info in OnDeserialization.
164 A hashtable subclass can fully override the constructor, so
165 serializationInfo would be null in this case. Fixes bug #70698.
167 2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
169 * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
171 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
173 * Hashtable.cs: Add deserialized elements in OnDeserialization, since
174 when the serialization constructor is called, some of the elements
175 may not yet be fully deserialized. This fixes bug #70570.
177 2004-10-08 Raja R Harinath <rharinath@novell.com>
179 * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
180 is not invariant, avoid an icall on every character.
182 2004-07-21 Geoff Norton <gnorton@customerdna.com>
184 * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
185 a snapshot out of sync error.
187 2004-07-21 Duncan Mak <duncan@ximian.com>
189 * DictionaryBase.cs: Rename the dictionary field to hashtable,
190 which causes a serialization interop bug. Fixes bug #61721.
192 2004-06-18 Ben Maurer <bmaurer@ximian.com>
194 * IKeyComparer.cs: v2 class
196 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
198 * CaseInsensitiveComparer.cs: added TODO for serialization
199 * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
200 * SortedList.cs: added TODO for serialization
201 * Stack.cs: added TODO for serialization
203 2004-06-14 Sebastien Pouliot <sebastien@ximian.com>
205 * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
207 2004-06-14 Lluis Sanchez Gual <lluis@ximian.com>
209 * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
211 2004-06-08 Lluis Sanchez Gual <lluis@ximian.com>
213 * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization
214 compatible with MS.NET.
216 2004-06-01 Sebastien Pouliot <sebastien@ximian.com>
218 * SortedList.cs: Fixed case where the initial capacity was set to 0.
220 2004-05-31 Sebastien Pouliot <sebastien@ximian.com>
222 * Hashtable.cs: Added ArgumentNullException in GetObjectData.
224 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
227 * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
230 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
232 * Compare.cs: ISerializable should only be implemented
235 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
237 * Compare.cs: Implemented ISerializable, fixes public API
239 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
241 * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
242 * Queue.cs: Fixed case where we could still get Current after the last
243 MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
244 * SortedList.cs: Added missing ICloneable support to internal
245 enumerator. Added Capacity to the synchronized version of SortedList.
246 Setting Capacity to 0 returns it to it's default value (16).
248 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
250 * ArrayList.cs: Fixed possible integer overflows.
252 2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
254 * Hashtable.cs: Renamed internal class to make serialization compatible
257 2004-05-10 Gert Driesen (drieseng@users.sourceforge.net)
258 * Hashtable.cs: marked EnumeratorMode private
259 * SortedList.cs: marked EnumeratorMode private
261 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
263 * Comparer.cs: ensure culture is set to null , removed
264 static constructor, removed unneccesary checks
266 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
268 * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
269 set CurrentCulture, ensure culture is set to null for invariant case,
271 * Comparer.cs: Restyle, change lineendings
273 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
275 * CaseInsensitiveHashCodeProvider.cs
276 * CaseInsensitiveComparer.cs: Change lineendings
277 * CaseInsensitiveComparer.cs: Restyle
279 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
281 * BitArray.cs: Fix parameter names
282 * CaseInsensitiveHashCodeProvider.cs: Fix signature
283 * DictionaryEntry.cs: Fix parameter names
284 * Hashtable.cs: Fix signatures
285 * SortedList.cs: Fix signatures
287 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
289 * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
290 set CurrentCulture, Add null check to other constructor, Call correct function
291 for invariant case, ensure culture is set to null for invariant case, removed
292 static constructor, made invariant version available as internal in .Net 1.0
294 2004-04-21 Lluis Sanchez Gual <lluis@ximian.com>
296 * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
297 Char.ToLower(c,culture), since it does not accept null as culture.
299 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
301 * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
302 interoperability). I also had to make some changes in the implementation:
303 I added a field _tail that points at the first free position in the array, and
304 changed the type of growFactor, which is now an int (its value is the old
307 2004-04-19 Lluis Sanchez Gual <lluis@ximian.com>
309 * Comparer.cs: Made constructor public.
311 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
313 * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
314 thread, not the one of the thread that created the instance.
315 * Comparer.cs: Added DefaultInvariant property and missing constructor.
316 Use the specified culture info to compare strings.
318 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
320 * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
321 Implemented property DefaultInvariant.
323 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
325 * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
326 (to allow serialization interoperability).
328 2004-03-18 David Sheldon <dave-mono@earth.li>
330 * Hashtable.cs: Serialise/Deserialise to two arrays of
331 keys/values. This will match what MS.NET appears to be
334 2004-02-12 Jackson Harper <jackson@ximian.com>
336 * SortedList.cs: Only .et 1.0 sets the capacity to a min of
339 2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
341 * Hashtable.cs: Added serialization support to SynchedHashtable. This
344 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
346 * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
349 2003-12-26 Ben Maurer <bmaurer@users.sourceforge.net>
351 * ArrayList.cs: Add class `SimpleEnumerator' this handles the
352 .GetEnumerator We are able to remove fields by doing this, the
353 sizeof the simple version is 75% of that of the complex one, so we
354 get a pretty nice saving.
356 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
358 * ArrayList.cs: Renamed private fields m_Count, m_Data and
359 m_StateChanges to _size, _items and _version, to make it compatible with
360 MS.NET (needed for remoting interoperability). This fixes bug #52438.
362 2003-12-01 Dick Porter <dick@ximian.com>
364 * CaseInsensitiveComparer.cs: Construct the default comparers when
365 they're needed, to avoid a dependency loop with CultureInfo's
368 2003-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
370 * Queue.cs: patch from Carlos Barcenilla.
372 - method: ICollection.Clone()
373 - Optimized. Removed unneeded instructions.
374 - method: public static Queue Synchronized (Queue queue)
375 - ArgumentNullException.ParamName must be "queue", not null.
376 - method: public virtual void TrimToSize()
377 - Must increment modCount.
379 private class SyncQueue
380 - method: public override object Clone ()
381 - Must return a synchronized (SyncStack) instance.
382 - method: public override void TrimToSize ()
385 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
387 * IEnumerator.cs: Added missing attribute
389 2003-11-12 Miguel de Icaza <miguel@ximian.com>
391 * CaseInsensitiveComparer.cs: Add missing method.
393 2003-11-10 Zoltan Varga <vargaz@freemail.hu>
395 * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
398 2003-11-03 Lluis Sanchez Gual <lluis@ximian.com>
400 * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
402 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
404 * System.Collections/Hashtable.cs: patch from Carlos A.
405 Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
406 Hashtable + NUnit2 tests.
408 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
410 * Queue.cs: nullify the array in Clear.
412 2003-09-26 Zoltan Varga <vargaz@freemail.hu>
414 * Hashtable.cs: Remove empty static constructor since it prevents this
415 class from being beforefieldinit.
417 2003-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
419 * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
421 2003-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
423 * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
426 2003-08-20 Duncan Mak <duncan@ximian.com>
428 * Hashtable.cs (PutImpl): Fix my previous checkin, see details
429 posted on bug #47692.
431 I really hope I don't mess up this time, because, if I do again,
432 it will be really embarrassing.
434 2003-08-17 Duncan Mak <duncan@ximian.com>
436 * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
437 Currently Hashtable.PutImpl has an incorrect test which causes the
438 key chain search to terminate as soon as a free slot is found,
439 causing key duplication.
441 This fixes bug #47692.
443 2003-08-11 Duncan Mak <duncan@ximian.com>
445 * DictionaryBase.cs: Applied patch from Carlos Barcenilla
446 (barce@frlp.utn.edu.ar).
448 (Idictionary.Add): Added OnValidate, and undo the transaction if
449 OnInsertCompleteFails.
451 (Indexer set): MS Implementation does not call OnInsert and undoes
452 if OnSetComplete throws an exception
453 (Indexer get): return value is obtained after calling OnGet.
455 (IDictionary.Remove): Call to OnValidate added. If key does not
456 exists calls OnValidate, OnRemove and OnRemoveComplete.
458 (protected IDictionary Dictionary get): Should return itself, not
461 This fixes bug #47460.
463 2003-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
465 * CollectionBase.cs: applied patch from Carlos Barcenilla
466 (barce@frlp.utn.edu.ar).
468 2003-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
470 * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
471 * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
472 (barce@frlp.utn.edu.ar). Most of the patch is also his.
474 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
476 * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
478 2003-07-29 Miguel de Icaza <miguel@ximian.com>
480 * ArrayList.cs: Deployed ArrayList from Tum; Fixed iterator to
481 allow nulls, and inline a few calls to make profiling more useful.
483 2003-07-24 Miguel de Icaza <miguel@ximian.com>
485 * ArrayList.cs: Removed MonoTODO.
487 2003-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
489 * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
490 Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
492 2003-06-27 Duncan Mak <duncan@ximian.com>
494 * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
495 returning DictionaryEntrys, instead of just the Key of the table.
497 2003-06-26 Lluis Sanchez Gual <lluis@ximian.com>
499 * Hashtable.cs: Fixed bug when serializing and deserializing
500 a hashtable from which one element has been deleted. The Object instance
501 used as a removed marker is not detected as a such, since the
502 serializer creates a different instace.
504 2003-06-13 Herve Poussineau <hpoussineau@fr.st>
506 * SortedList.cs: Can enumerate on DictionaryEntries, not only on
507 keys on values. Enumerate by default on DictionaryEntries.
509 2003-06-12 Duncan Mak <duncan@ximian.com>
511 * Hashtable.cs (constructor):
512 if loadFactor equals Single.NaN, then throw an
513 ArgumentOutOfRangeException.
515 if we set capacity to be too big (ie. capacity / loadFactor is
516 greater than Int32.MaxValue), then we throw an ArgumentException.
518 2003-06-11 Duncan Mak <duncan@ximian.com>
520 * SortedList.cs: Oi! What a mess.
522 If the list was constructed using the null-param constructor, and
523 it tries to set it to a size lower than the default, let it do so.
525 If the list was constructed with a specific size, and it tries to
526 set it to a size lower than the specified size, set it to the
529 (IndexOfValue): Clean up the code somewhat, make it allow for
532 2003-06-08 Ben Maurer <bmaurer@users.sourceforge.net>
533 * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
536 2003-06-07 Ben Maurer <bmaurer@users.sourceforge.net>
537 * Stack.cs: Contains (null) works correctly. We never have the
538 array sized less than 16, so that the doubling logic works no
539 matter what. The enumerator is IClonable, like in ms. The
540 Enumerator correctly throws an exception if Current is called
541 before the enumerator is started. We now pass all the Rotor tests
544 2003-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
546 * Stack.cs: fixed Clone ().
548 2003-06-04 Ben Maurer <bmaurer@users.sourceforge.net>
549 * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
552 2003-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
554 * ArrayList.cs: nullify the array in Clear ().
555 * Queue.cs: nullify the array in Dequeue ().
556 * Stack.cs: nullify the array in Pop ().
558 2003-06-02 Ben Maurer <bmaurer@users.sourceforge.net>
559 * Queue.cs: Added argument checking in constructors according to
560 specs. Also changed default size to 32 as required by the specs.
562 2003-05-31 Ben Maurer <bmaurer@users.sourceforge.net>
563 * BitArray.cs: Rewrote, as it was failing most of the Rotor
564 tests. It now passes them 100%. Also fixes bug #43667.
566 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
568 Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
570 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
572 Added methods to support IList wrappers
574 2003-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
576 * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
577 that fixes bug #41684.
579 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
581 * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
582 like MS.NET) and implemented the
583 CaseInsensitiveComparerTest(culture) constructor.
585 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
587 * Queue.cs: fixed bug #39046.
589 2003-02-15 Pedro Martnez Juli <yoros@wanadoo.es>
591 * Hashtable.cs: Make hashtable serializable (at least with binary
592 formatter). This process was started by the Hashtable maintainer.
594 2003-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
596 * ArrayList.cs: fixed setSize (!).
598 2003-01-31 Zoltan Varga <vargaz@freemail.hu>
600 * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
601 here, since RemoveAt raises a different exception than RemoveRange
602 when the index is out-of-range. Fixes the ArrayList unit tests.
604 * ArrayList.cs (RemoveRange): fixed indentation.
606 2003-01-12 Varga Zoltan <vargaz@freemail.hu>
608 * ArrayList.cs (RemoveRange): Patch for allowing zero-size
609 removal at the end of a list. It also cleans up the argument
610 checking code so the raised exceptions have the same message as
613 2003-01-10 Duncan Mak <duncan@ximian.com>
615 * ArrayList.cs (Insert): Patch from Zoltan
616 (Zoltan.2.Varga@nokia.com).
618 2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
620 * Hashtable.cs: add the key to the error message when
623 2002-10-15 Vladimir Vukicevic <vladimir@pobox.com>
625 * Queue.cs: update new capacity in grow(), preventing queue from
626 constantly looping over old elements in Dequeue(). Also use
627 capacity instead of contents.Length in Enqueue().
629 2002-09-24 Nick Drochak <ndrochak@gol.com>
631 * ArrayList.cs: Make enumerator throw exception if the ArrayList is
632 mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
633 this was passed as parameter.
635 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
637 * ArrayList.cs: fixed bug #29658.
639 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
643 * CaseInsensitiveComparer.cs:
644 * CaseInsensitiveHashCodeProvider.cs:
646 * Queue.cs: misc. fixes based on class status page.
648 2002-07-22 Tim Coleman <tim@timcoleman.com>
649 * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
650 which was breaking System.Web build on linux
652 2002-07-05 Sergey Chaban <serge@wildwestsoftware.com>
654 * SortedList.cs: Implemented thread-safe wrapper. Changed some
657 2002-07-02 Nick Drochak <ndrochak@gol.com>
659 * SortedList.cs: Constructors should use the capacity given regardless
660 how small. After a Clear() the Capacit should be 16. Since a Dictionary
661 might be used in the constructor, make sure we trap exceptions thrown
662 by the Comparer, like in Add().
664 2002-06-30 Nick Drochak <ndrochak@gol.com>
666 * SortedList.cs: Many fixed. A lot of checking for null and throwing
667 exceptions. A few logic bugs fixed as well
669 2002-06-25 Nick Drochak <ndrochak@gol.com>
671 * Queue.cs (CopyTo): Fix logic for copying the circular array.
672 (Enqueue): Use actual length of array to determine when to grow
673 (QueueEnumerator) Fixed Current to use array length, not capacity, and
674 fixed off-by-one errror in MoveNext().
676 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
678 * ArrayList.cs: fixed RemoveAt() implementation.
680 2002-05-27 Nick Drochak <ndrochak@gol.com>
682 * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
683 fix check of parameters sent to make sure we don't search beyond the
684 beginning of the list.
685 (ListWrapper): Throw exception if called with null.
686 We now pass all unit tests.
688 2002-05-23 Duncan Mak <duncan@ximian.com>
690 * ArrayList.cs (Wrapper): Preliminary implementation of
691 ArrayList.Wrapper (IList).
693 2002-05-22 Martin Baulig <martin@gnome.org>
695 * ArrayList.cs: Made count, capacity and dataArray the first three
696 fields in the class. They're read by the reflection library.
698 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
700 * ArrayList.cs: Fixed bug where a capacity of 0 could be reached,
701 thereby causing problems when trying to add elements.
703 2002-05-06 Duncan Mak <duncan@ximian.com>
705 * Queue.cs (TrimToSize): Implemented.
707 2002-05-05 Nick Drochak <ndrochak@gol.com>
709 * ArrayList.cs: Throw RankException when constructing from a
710 multi-dimensional array. Confirmed behavior from MS.NET
712 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
714 * ArrayList.cs: make mcs compile again: it's allowed to
715 call arraylist.CopyTo(array, 0) when the length of the array
718 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
720 * SortedList.cs: fix RemoveAt () to use the correct length in
723 2002-05-01 Nick Drochak <ndrochak@gol.com>
725 * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
727 2002/05/01 Nick Drochak <ndrochak@gol.com>
729 * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
732 2002/04/30 Nick Drochak <ndrochak@gol.com>
734 * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
735 (InsertRange) : Implement.
736 (SetRange) : Implement.
738 2002-04-30 Nick Drochak <ndrochak@gol.com>
740 * ArrayList.cs (TrimToSize) : Implement.
742 2002-04-28 Duncan Mak <duncan@ximian.com>
744 * ArrayList.cs (InsertRange):
747 (TrimToSize): Throw exceptions where needed.
749 2002-04-29 Nick Drochak <ndrochak@gol.com>
751 * Hashtable.cs (CopyTo): Throw exceptions where needed.
753 2002-04-28 Duncan Mak <duncan@ximian.com>
755 * ArrayList.cs (ReadOnly):
756 (IList.ReadOnly): Implemented.
759 (IList.Synchronized): Implemented.
762 (IList.FixedSize): Implemented.
764 2002-03-24 Duncan Mak <duncan@ximian.com>
766 * SortedList.cs (Synchronized): Stubbed out a missing method
767 pointed out by Jakk Simm's test suite.
769 2002-03-14 Nick Drochak <ndrochak@gol.com>
771 * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
772 other FixedSize() methods returns an IList.
774 2002-03-13 Duncan Mak <duncan@ximian.com>
776 * ArrayList.cs (FixedSize): Changed the return type to IList if
777 the argument is an IList.
778 (Synchronized): Ditto here.
780 2002-03-08 Sergey Chaban <serge@wildwestsoftware.com>
782 * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
783 Removed unused code from static constructor.
784 GetObjectData () - Version is the same as modificationCount.
786 2002-02-20 Nick Drochak <ndrochak@gol.com>
788 * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
789 by Bucky's tests. Implement a couple of things that were left undone.
791 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
793 * ArrayList.cs: Dick's fix to contructor.
795 2002-02-07 Duncan Mak <duncan@ximian.com>
797 * Hashtable.cs: Implemented parts of the ISerializable
798 interface. GetObjectData () is good, but serialization constructor
799 needs some more love.
801 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
803 * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
805 2002-01-04 Ravi Pratap <ravi@ximian.com>
807 * Correct name to MonoTODO everywhere.
809 2002-01-04 Ravi Pratap <ravi@ximian.com>
811 * ArrayList.cs : Setting an index does not implicitly
812 extend the arraylist : remove FIXME.
814 Decorate incomplete elements with the TODO attribute.
816 * BitArray.cs : Insert TODO attributes where appropriate.
818 * CaseInsensitiveHashcodeProvider.cs: Ditto.
820 * Hashtable.cs, SortedList.cs : Ditto.
822 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
824 * ArrayList.cs: implemented AddRange(), CopyTo().
826 2001-11-19 Miguel de Icaza <miguel@ximian.com>
828 * DictionaryBase.cs: Implemented.
830 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
832 * ArrayList.cs: implement ArrayListEnumerator.
833 * Hashtable.cs: hardcode the prime number table.
835 2001-11-06 Nick Drochak <ndrochak@gol.com>
836 * Queue.cs: Fixes from Ricardardo. QueueTest also updated.
838 2001-11-04 Nick Drochak <ndrochak@gol.com>
839 * Queue.cs: Fixed small syntax errors that were preventing the compile.
840 I changed the build file to include Queue.cs as well.
842 2001-11-04 Nick Drochak <ndrochak@gol.com>
843 * ArrayList.cs: Fixed "off by one" error when shifting left the array when
846 * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
847 hook methods to the RemoveAt() method.
849 2001-11-04 Nick Drochak <ndrochak@gol.com>
850 * ArrayList.cs: Added private enumerator class and make GetEnumerator()
851 methods return an instance of it.
853 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
855 * ArrayList.cs: fix Insert () to check capacity, not count.
857 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
859 * DictionaryEntry.cs: added.
861 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
863 * common.src: removed duplicate entries
865 2001-08-08 Nick Drochak <ndrochak@gol.com>
867 * ReadOnlyCollectionBase.cs: Initialized private member.
868 * CollectionBase.cs: Initialized private member.
869 * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
870 * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
871 * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
873 2001-08-08 Nick Drochak <nick@jobdragon.com>
875 * CollectionBase.cs: Add
876 * ReadOnlyCollectionBase.cs: Add
877 * CollectionBaseTest.cs: Add
878 * ReadOnlyCollectionBaseTest.cs: Add
880 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
882 * StackTest.cs: Add Test case for System.Collections.Stack.
883 Contributed by Chris Hynes <chrish@assistedsolutions.com>
885 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
887 * Stack.cs: Clone() doesn't need to check if it's synchronized, since
888 we override it in SyncStack anyway...
890 * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to
891 avoid using massive amounts of memory that are not necessary. We only
892 drop to half the current size, which I hope will avoid the 'ping-pong'
895 * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly
896 instead of just returning false, since we may have a ReadOnly wrapper
897 in the future (although i can't imagine why). Thanks to David
898 Menestrina <dmenest@yahoo.com> for pointing this out.
900 2001-07-23 Sergey Chaban <serge@wildwestsoftware.com>
902 * Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
903 From now, Clear() increases modification count.
904 Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
905 instead of hcp.GetHashCode(key). This was resulted in the
906 insanely long lookup times when HashCodeProvider was used to
907 construct Hashtable. Added thread-safe wrapper.
909 2001-07-16 David Menestrina <dmenest@yahoo.com>
912 * BitArrayTest.cs: Add
914 2001-07-18 Miguel de Icaza <miguel@ximian.com>
916 * IDictionary.cs (Collections): IDictionary implements ICollection
917 as well. Thanks Sergey!
919 2001-07-18 Garrett Rooney <rooneg@electricjellyfish.net>
921 * Stack.cs Removed unnecessary locking from many methods of
922 SyncStack, removed SyncEnumerator because it was unnecessary,
923 added a modCount member to Stack and Stack.Enumerator, to
924 ensure that the Stack has not been modified out form under the
925 Enumerator, and changed the Enumerator to use a reference to the
926 stack rather than copying over the contents array.
928 2001-07-17 David Menestrina <dmenest@yahoo.com>
930 * Added implementation of BitArray.
932 2001-07-17 Miguel de Icaza <miguel@ximian.com>
934 * Hashtable.cs: Removed call to d.Count in the Hashtable
935 constructor that takes an IDictionary as IDictionary does not
936 provide a Count field.
938 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
940 * IDictionary.cs: Clear was clear.
942 2001-07-13 Miguel de Icaza <miguel@ximian.com>
944 * All files: Renamespace things to System.
946 2001-07-05 Vladimir Vukicevic <vladimir@ximian.com>
948 * ArrayList.cs: initial checkin and implementation
950 * ICollection.cs, IComprarer.cs, IDictionary.cs,
951 IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
952 IList.cs: initial checkin