1 2005-06-12 David Waite <dwaite@gmail.com>
3 * Hashtable.cs: make prime-related functions internal so generic
4 Dictionary can use them.
5 * IEqualityComparer.cs: add non-generic IEqualityComparer interface
7 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
9 * Hashtable.cs: Add some missing 2.0 attributes.
11 2005-05-26 Ben Maurer <bmaurer@ximian.com>
13 * Queue.cs (grow): fix 61919.
15 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
17 * Stack.cs : empty_stack.CopyTo(empty_array, 0) should be allowed.
19 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
21 * Hashtable.cs: Add net 2.0 ReliabilityContractAttributes.
23 2005-02-19 Kazuki Oikawa <kazuki@panicode.com>
25 * SortedList.cs, Stack.cs: Reverse the order in the Equals calls.
27 2004-12-21 Ben Maurer <bmaurer@ximian.com>
29 * Hashtable.cs (get_Item): duplicate Find here, as we can
30 specialize a few things. This gives me 7% back.
31 (Find) Use break rather than return -1. Saves a bit of code.
33 * Hashtable.cs (GetHash): Avoid a method call. Also, don't store
34 the this.hcpRef in a variable. This will create another register
35 which must be pushed on the stack. It is better to just reference
36 the variable again. hcpRef.GetHashCode (key) is the slow path
37 anyways, so an extra variable reference here doesn't hurt
40 This gives me a few % back in a raw benchmark.
42 2004-12-20 Ben Maurer <bmaurer@ximian.com>
44 * Hashtable.cs (Find): Some minor optimizations here.
46 * Hashtable.cs: Remove GetImpl and inline it.
48 * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
49 == key (ie, they are the same pointer). In many cases, this will
50 avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
52 * Hashtable.cs (Find): Make `i' a uint rather than an int. This
53 avoids having a long compare.
55 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
57 * Hashtable.cs: Check for null serialization info in OnDeserialization.
58 A hashtable subclass can fully override the constructor, so
59 serializationInfo would be null in this case. Fixes bug #70698.
61 2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
63 * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
65 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
67 * Hashtable.cs: Add deserialized elements in OnDeserialization, since
68 when the serialization constructor is called, some of the elements
69 may not yet be fully deserialized. This fixes bug #70570.
71 2004-10-08 Raja R Harinath <rharinath@novell.com>
73 * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
74 is not invariant, avoid an icall on every character.
76 2004-07-21 Geoff Norton <gnorton@customerdna.com>
78 * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
79 a snapshot out of sync error.
81 2004-07-21 Duncan Mak <duncan@ximian.com>
83 * DictionaryBase.cs: Rename the dictionary field to hashtable,
84 which causes a serialization interop bug. Fixes bug #61721.
86 2004-06-18 Ben Maurer <bmaurer@ximian.com>
88 * IKeyComparer.cs: v2 class
90 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
92 * CaseInsensitiveComparer.cs: added TODO for serialization
93 * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
94 * SortedList.cs: added TODO for serialization
95 * Stack.cs: added TODO for serialization
97 2004-06-14 Sebastien Pouliot <sebastien@ximian.com>
99 * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
101 2004-06-14 Lluis Sanchez Gual <lluis@ximian.com>
103 * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
105 2004-06-08 Lluis Sanchez Gual <lluis@ximian.com>
107 * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization
108 compatible with MS.NET.
110 2004-06-01 Sebastien Pouliot <sebastien@ximian.com>
112 * SortedList.cs: Fixed case where the initial capacity was set to 0.
114 2004-05-31 Sebastien Pouliot <sebastien@ximian.com>
116 * Hashtable.cs: Added ArgumentNullException in GetObjectData.
118 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
121 * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
124 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
126 * Compare.cs: ISerializable should only be implemented
129 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
131 * Compare.cs: Implemented ISerializable, fixes public API
133 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
135 * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
136 * Queue.cs: Fixed case where we could still get Current after the last
137 MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
138 * SortedList.cs: Added missing ICloneable support to internal
139 enumerator. Added Capacity to the synchronized version of SortedList.
140 Setting Capacity to 0 returns it to it's default value (16).
142 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
144 * ArrayList.cs: Fixed possible integer overflows.
146 2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
148 * Hashtable.cs: Renamed internal class to make serialization compatible
151 2004-05-10 Gert Driesen (drieseng@users.sourceforge.net)
152 * Hashtable.cs: marked EnumeratorMode private
153 * SortedList.cs: marked EnumeratorMode private
155 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
157 * Comparer.cs: ensure culture is set to null , removed
158 static constructor, removed unneccesary checks
160 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
162 * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
163 set CurrentCulture, ensure culture is set to null for invariant case,
165 * Comparer.cs: Restyle, change lineendings
167 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
169 * CaseInsensitiveHashCodeProvider.cs
170 * CaseInsensitiveComparer.cs: Change lineendings
171 * CaseInsensitiveComparer.cs: Restyle
173 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
175 * BitArray.cs: Fix parameter names
176 * CaseInsensitiveHashCodeProvider.cs: Fix signature
177 * DictionaryEntry.cs: Fix parameter names
178 * Hashtable.cs: Fix signatures
179 * SortedList.cs: Fix signatures
181 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
183 * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
184 set CurrentCulture, Add null check to other constructor, Call correct function
185 for invariant case, ensure culture is set to null for invariant case, removed
186 static constructor, made invariant version available as internal in .Net 1.0
188 2004-04-21 Lluis Sanchez Gual <lluis@ximian.com>
190 * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
191 Char.ToLower(c,culture), since it does not accept null as culture.
193 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
195 * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
196 interoperability). I also had to make some changes in the implementation:
197 I added a field _tail that points at the first free position in the array, and
198 changed the type of growFactor, which is now an int (its value is the old
201 2004-04-19 Lluis Sanchez Gual <lluis@ximian.com>
203 * Comparer.cs: Made constructor public.
205 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
207 * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
208 thread, not the one of the thread that created the instance.
209 * Comparer.cs: Added DefaultInvariant property and missing constructor.
210 Use the specified culture info to compare strings.
212 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
214 * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
215 Implemented property DefaultInvariant.
217 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
219 * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
220 (to allow serialization interoperability).
222 2004-03-18 David Sheldon <dave-mono@earth.li>
224 * Hashtable.cs: Serialise/Deserialise to two arrays of
225 keys/values. This will match what MS.NET appears to be
228 2004-02-12 Jackson Harper <jackson@ximian.com>
230 * SortedList.cs: Only .et 1.0 sets the capacity to a min of
233 2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
235 * Hashtable.cs: Added serialization support to SynchedHashtable. This
238 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
240 * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
243 2003-12-26 Ben Maurer <bmaurer@users.sourceforge.net>
245 * ArrayList.cs: Add class `SimpleEnumerator' this handles the
246 .GetEnumerator We are able to remove fields by doing this, the
247 sizeof the simple version is 75% of that of the complex one, so we
248 get a pretty nice saving.
250 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
252 * ArrayList.cs: Renamed private fields m_Count, m_Data and
253 m_StateChanges to _size, _items and _version, to make it compatible with
254 MS.NET (needed for remoting interoperability). This fixes bug #52438.
256 2003-12-01 Dick Porter <dick@ximian.com>
258 * CaseInsensitiveComparer.cs: Construct the default comparers when
259 they're needed, to avoid a dependency loop with CultureInfo's
262 2003-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
264 * Queue.cs: patch from Carlos Barcenilla.
266 - method: ICollection.Clone()
267 - Optimized. Removed unneeded instructions.
268 - method: public static Queue Synchronized (Queue queue)
269 - ArgumentNullException.ParamName must be "queue", not null.
270 - method: public virtual void TrimToSize()
271 - Must increment modCount.
273 private class SyncQueue
274 - method: public override object Clone ()
275 - Must return a synchronized (SyncStack) instance.
276 - method: public override void TrimToSize ()
279 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
281 * IEnumerator.cs: Added missing attribute
283 2003-11-12 Miguel de Icaza <miguel@ximian.com>
285 * CaseInsensitiveComparer.cs: Add missing method.
287 2003-11-10 Zoltan Varga <vargaz@freemail.hu>
289 * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
292 2003-11-03 Lluis Sanchez Gual <lluis@ximian.com>
294 * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
296 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
298 * System.Collections/Hashtable.cs: patch from Carlos A.
299 Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
300 Hashtable + NUnit2 tests.
302 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
304 * Queue.cs: nullify the array in Clear.
306 2003-09-26 Zoltan Varga <vargaz@freemail.hu>
308 * Hashtable.cs: Remove empty static constructor since it prevents this
309 class from being beforefieldinit.
311 2003-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
313 * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
315 2003-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
317 * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
320 2003-08-20 Duncan Mak <duncan@ximian.com>
322 * Hashtable.cs (PutImpl): Fix my previous checkin, see details
323 posted on bug #47692.
325 I really hope I don't mess up this time, because, if I do again,
326 it will be really embarrassing.
328 2003-08-17 Duncan Mak <duncan@ximian.com>
330 * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
331 Currently Hashtable.PutImpl has an incorrect test which causes the
332 key chain search to terminate as soon as a free slot is found,
333 causing key duplication.
335 This fixes bug #47692.
337 2003-08-11 Duncan Mak <duncan@ximian.com>
339 * DictionaryBase.cs: Applied patch from Carlos Barcenilla
340 (barce@frlp.utn.edu.ar).
342 (Idictionary.Add): Added OnValidate, and undo the transaction if
343 OnInsertCompleteFails.
345 (Indexer set): MS Implementation does not call OnInsert and undoes
346 if OnSetComplete throws an exception
347 (Indexer get): return value is obtained after calling OnGet.
349 (IDictionary.Remove): Call to OnValidate added. If key does not
350 exists calls OnValidate, OnRemove and OnRemoveComplete.
352 (protected IDictionary Dictionary get): Should return itself, not
355 This fixes bug #47460.
357 2003-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
359 * CollectionBase.cs: applied patch from Carlos Barcenilla
360 (barce@frlp.utn.edu.ar).
362 2003-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
364 * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
365 * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
366 (barce@frlp.utn.edu.ar). Most of the patch is also his.
368 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
370 * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
372 2003-07-29 Miguel de Icaza <miguel@ximian.com>
374 * ArrayList.cs: Deployed ArrayList from Tum; Fixed iterator to
375 allow nulls, and inline a few calls to make profiling more useful.
377 2003-07-24 Miguel de Icaza <miguel@ximian.com>
379 * ArrayList.cs: Removed MonoTODO.
381 2003-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
383 * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
384 Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
386 2003-06-27 Duncan Mak <duncan@ximian.com>
388 * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
389 returning DictionaryEntrys, instead of just the Key of the table.
391 2003-06-26 Lluis Sanchez Gual <lluis@ximian.com>
393 * Hashtable.cs: Fixed bug when serializing and deserializing
394 a hashtable from which one element has been deleted. The Object instance
395 used as a removed marker is not detected as a such, since the
396 serializer creates a different instace.
398 2003-06-13 Herve Poussineau <hpoussineau@fr.st>
400 * SortedList.cs: Can enumerate on DictionaryEntries, not only on
401 keys on values. Enumerate by default on DictionaryEntries.
403 2003-06-12 Duncan Mak <duncan@ximian.com>
405 * Hashtable.cs (constructor):
406 if loadFactor equals Single.NaN, then throw an
407 ArgumentOutOfRangeException.
409 if we set capacity to be too big (ie. capacity / loadFactor is
410 greater than Int32.MaxValue), then we throw an ArgumentException.
412 2003-06-11 Duncan Mak <duncan@ximian.com>
414 * SortedList.cs: Oi! What a mess.
416 If the list was constructed using the null-param constructor, and
417 it tries to set it to a size lower than the default, let it do so.
419 If the list was constructed with a specific size, and it tries to
420 set it to a size lower than the specified size, set it to the
423 (IndexOfValue): Clean up the code somewhat, make it allow for
426 2003-06-08 Ben Maurer <bmaurer@users.sourceforge.net>
427 * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
430 2003-06-07 Ben Maurer <bmaurer@users.sourceforge.net>
431 * Stack.cs: Contains (null) works correctly. We never have the
432 array sized less than 16, so that the doubling logic works no
433 matter what. The enumerator is IClonable, like in ms. The
434 Enumerator correctly throws an exception if Current is called
435 before the enumerator is started. We now pass all the Rotor tests
438 2003-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
440 * Stack.cs: fixed Clone ().
442 2003-06-04 Ben Maurer <bmaurer@users.sourceforge.net>
443 * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
446 2003-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
448 * ArrayList.cs: nullify the array in Clear ().
449 * Queue.cs: nullify the array in Dequeue ().
450 * Stack.cs: nullify the array in Pop ().
452 2003-06-02 Ben Maurer <bmaurer@users.sourceforge.net>
453 * Queue.cs: Added argument checking in constructors according to
454 specs. Also changed default size to 32 as required by the specs.
456 2003-05-31 Ben Maurer <bmaurer@users.sourceforge.net>
457 * BitArray.cs: Rewrote, as it was failing most of the Rotor
458 tests. It now passes them 100%. Also fixes bug #43667.
460 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
462 Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
464 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
466 Added methods to support IList wrappers
468 2003-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
470 * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
471 that fixes bug #41684.
473 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
475 * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
476 like MS.NET) and implemented the
477 CaseInsensitiveComparerTest(culture) constructor.
479 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481 * Queue.cs: fixed bug #39046.
483 2003-02-15 Pedro MartÃnez Juliá <yoros@wanadoo.es>
485 * Hashtable.cs: Make hashtable serializable (at least with binary
486 formatter). This process was started by the Hashtable maintainer.
488 2003-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
490 * ArrayList.cs: fixed setSize (!).
492 2003-01-31 Zoltan Varga <vargaz@freemail.hu>
494 * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
495 here, since RemoveAt raises a different exception than RemoveRange
496 when the index is out-of-range. Fixes the ArrayList unit tests.
498 * ArrayList.cs (RemoveRange): fixed indentation.
500 2003-01-12 Varga Zoltan <vargaz@freemail.hu>
502 * ArrayList.cs (RemoveRange): Patch for allowing zero-size
503 removal at the end of a list. It also cleans up the argument
504 checking code so the raised exceptions have the same message as
507 2003-01-10 Duncan Mak <duncan@ximian.com>
509 * ArrayList.cs (Insert): Patch from Zoltan
510 (Zoltan.2.Varga@nokia.com).
512 2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
514 * Hashtable.cs: add the key to the error message when
517 2002-10-15 Vladimir Vukicevic <vladimir@pobox.com>
519 * Queue.cs: update new capacity in grow(), preventing queue from
520 constantly looping over old elements in Dequeue(). Also use
521 capacity instead of contents.Length in Enqueue().
523 2002-09-24 Nick Drochak <ndrochak@gol.com>
525 * ArrayList.cs: Make enumerator throw exception if the ArrayList is
526 mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
527 this was passed as parameter.
529 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
531 * ArrayList.cs: fixed bug #29658.
533 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
537 * CaseInsensitiveComparer.cs:
538 * CaseInsensitiveHashCodeProvider.cs:
540 * Queue.cs: misc. fixes based on class status page.
542 2002-07-22 Tim Coleman <tim@timcoleman.com>
543 * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
544 which was breaking System.Web build on linux
546 2002-07-05 Sergey Chaban <serge@wildwestsoftware.com>
548 * SortedList.cs: Implemented thread-safe wrapper. Changed some
551 2002-07-02 Nick Drochak <ndrochak@gol.com>
553 * SortedList.cs: Constructors should use the capacity given regardless
554 how small. After a Clear() the Capacit should be 16. Since a Dictionary
555 might be used in the constructor, make sure we trap exceptions thrown
556 by the Comparer, like in Add().
558 2002-06-30 Nick Drochak <ndrochak@gol.com>
560 * SortedList.cs: Many fixed. A lot of checking for null and throwing
561 exceptions. A few logic bugs fixed as well
563 2002-06-25 Nick Drochak <ndrochak@gol.com>
565 * Queue.cs (CopyTo): Fix logic for copying the circular array.
566 (Enqueue): Use actual length of array to determine when to grow
567 (QueueEnumerator) Fixed Current to use array length, not capacity, and
568 fixed off-by-one errror in MoveNext().
570 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
572 * ArrayList.cs: fixed RemoveAt() implementation.
574 2002-05-27 Nick Drochak <ndrochak@gol.com>
576 * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
577 fix check of parameters sent to make sure we don't search beyond the
578 beginning of the list.
579 (ListWrapper): Throw exception if called with null.
580 We now pass all unit tests.
582 2002-05-23 Duncan Mak <duncan@ximian.com>
584 * ArrayList.cs (Wrapper): Preliminary implementation of
585 ArrayList.Wrapper (IList).
587 2002-05-22 Martin Baulig <martin@gnome.org>
589 * ArrayList.cs: Made count, capacity and dataArray the first three
590 fields in the class. They're read by the reflection library.
592 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
594 * ArrayList.cs: Fixed bug where a capacity of 0 could be reached,
595 thereby causing problems when trying to add elements.
597 2002-05-06 Duncan Mak <duncan@ximian.com>
599 * Queue.cs (TrimToSize): Implemented.
601 2002-05-05 Nick Drochak <ndrochak@gol.com>
603 * ArrayList.cs: Throw RankException when constructing from a
604 multi-dimensional array. Confirmed behavior from MS.NET
606 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
608 * ArrayList.cs: make mcs compile again: it's allowed to
609 call arraylist.CopyTo(array, 0) when the length of the array
612 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
614 * SortedList.cs: fix RemoveAt () to use the correct length in
617 2002-05-01 Nick Drochak <ndrochak@gol.com>
619 * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
621 2002/05/01 Nick Drochak <ndrochak@gol.com>
623 * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
626 2002/04/30 Nick Drochak <ndrochak@gol.com>
628 * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
629 (InsertRange) : Implement.
630 (SetRange) : Implement.
632 2002-04-30 Nick Drochak <ndrochak@gol.com>
634 * ArrayList.cs (TrimToSize) : Implement.
636 2002-04-28 Duncan Mak <duncan@ximian.com>
638 * ArrayList.cs (InsertRange):
641 (TrimToSize): Throw exceptions where needed.
643 2002-04-29 Nick Drochak <ndrochak@gol.com>
645 * Hashtable.cs (CopyTo): Throw exceptions where needed.
647 2002-04-28 Duncan Mak <duncan@ximian.com>
649 * ArrayList.cs (ReadOnly):
650 (IList.ReadOnly): Implemented.
653 (IList.Synchronized): Implemented.
656 (IList.FixedSize): Implemented.
658 2002-03-24 Duncan Mak <duncan@ximian.com>
660 * SortedList.cs (Synchronized): Stubbed out a missing method
661 pointed out by Jakk Simm's test suite.
663 2002-03-14 Nick Drochak <ndrochak@gol.com>
665 * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
666 other FixedSize() methods returns an IList.
668 2002-03-13 Duncan Mak <duncan@ximian.com>
670 * ArrayList.cs (FixedSize): Changed the return type to IList if
671 the argument is an IList.
672 (Synchronized): Ditto here.
674 2002-03-08 Sergey Chaban <serge@wildwestsoftware.com>
676 * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
677 Removed unused code from static constructor.
678 GetObjectData () - Version is the same as modificationCount.
680 2002-02-20 Nick Drochak <ndrochak@gol.com>
682 * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
683 by Bucky's tests. Implement a couple of things that were left undone.
685 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
687 * ArrayList.cs: Dick's fix to contructor.
689 2002-02-07 Duncan Mak <duncan@ximian.com>
691 * Hashtable.cs: Implemented parts of the ISerializable
692 interface. GetObjectData () is good, but serialization constructor
693 needs some more love.
695 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
697 * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
699 2002-01-04 Ravi Pratap <ravi@ximian.com>
701 * Correct name to MonoTODO everywhere.
703 2002-01-04 Ravi Pratap <ravi@ximian.com>
705 * ArrayList.cs : Setting an index does not implicitly
706 extend the arraylist : remove FIXME.
708 Decorate incomplete elements with the TODO attribute.
710 * BitArray.cs : Insert TODO attributes where appropriate.
712 * CaseInsensitiveHashcodeProvider.cs: Ditto.
714 * Hashtable.cs, SortedList.cs : Ditto.
716 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
718 * ArrayList.cs: implemented AddRange(), CopyTo().
720 2001-11-19 Miguel de Icaza <miguel@ximian.com>
722 * DictionaryBase.cs: Implemented.
724 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
726 * ArrayList.cs: implement ArrayListEnumerator.
727 * Hashtable.cs: hardcode the prime number table.
729 2001-11-06 Nick Drochak <ndrochak@gol.com>
730 * Queue.cs: Fixes from Ricardardo. QueueTest also updated.
732 2001-11-04 Nick Drochak <ndrochak@gol.com>
733 * Queue.cs: Fixed small syntax errors that were preventing the compile.
734 I changed the build file to include Queue.cs as well.
736 2001-11-04 Nick Drochak <ndrochak@gol.com>
737 * ArrayList.cs: Fixed "off by one" error when shifting left the array when
740 * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
741 hook methods to the RemoveAt() method.
743 2001-11-04 Nick Drochak <ndrochak@gol.com>
744 * ArrayList.cs: Added private enumerator class and make GetEnumerator()
745 methods return an instance of it.
747 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
749 * ArrayList.cs: fix Insert () to check capacity, not count.
751 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
753 * DictionaryEntry.cs: added.
755 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
757 * common.src: removed duplicate entries
759 2001-08-08 Nick Drochak <ndrochak@gol.com>
761 * ReadOnlyCollectionBase.cs: Initialized private member.
762 * CollectionBase.cs: Initialized private member.
763 * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
764 * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
765 * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
767 2001-08-08 Nick Drochak <nick@jobdragon.com>
769 * CollectionBase.cs: Add
770 * ReadOnlyCollectionBase.cs: Add
771 * CollectionBaseTest.cs: Add
772 * ReadOnlyCollectionBaseTest.cs: Add
774 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
776 * StackTest.cs: Add Test case for System.Collections.Stack.
777 Contributed by Chris Hynes <chrish@assistedsolutions.com>
779 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
781 * Stack.cs: Clone() doesn't need to check if it's synchronized, since
782 we override it in SyncStack anyway...
784 * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to
785 avoid using massive amounts of memory that are not necessary. We only
786 drop to half the current size, which I hope will avoid the 'ping-pong'
789 * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly
790 instead of just returning false, since we may have a ReadOnly wrapper
791 in the future (although i can't imagine why). Thanks to David
792 Menestrina <dmenest@yahoo.com> for pointing this out.
794 2001-07-23 Sergey Chaban <serge@wildwestsoftware.com>
796 * Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
797 From now, Clear() increases modification count.
798 Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
799 instead of hcp.GetHashCode(key). This was resulted in the
800 insanely long lookup times when HashCodeProvider was used to
801 construct Hashtable. Added thread-safe wrapper.
803 2001-07-16 David Menestrina <dmenest@yahoo.com>
806 * BitArrayTest.cs: Add
808 2001-07-18 Miguel de Icaza <miguel@ximian.com>
810 * IDictionary.cs (Collections): IDictionary implements ICollection
811 as well. Thanks Sergey!
813 2001-07-18 Garrett Rooney <rooneg@electricjellyfish.net>
815 * Stack.cs Removed unnecessary locking from many methods of
816 SyncStack, removed SyncEnumerator because it was unnecessary,
817 added a modCount member to Stack and Stack.Enumerator, to
818 ensure that the Stack has not been modified out form under the
819 Enumerator, and changed the Enumerator to use a reference to the
820 stack rather than copying over the contents array.
822 2001-07-17 David Menestrina <dmenest@yahoo.com>
824 * Added implementation of BitArray.
826 2001-07-17 Miguel de Icaza <miguel@ximian.com>
828 * Hashtable.cs: Removed call to d.Count in the Hashtable
829 constructor that takes an IDictionary as IDictionary does not
830 provide a Count field.
832 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
834 * IDictionary.cs: Clear was clear.
836 2001-07-13 Miguel de Icaza <miguel@ximian.com>
838 * All files: Renamespace things to System.
840 2001-07-05 Vladimir Vukicevic <vladimir@ximian.com>
842 * ArrayList.cs: initial checkin and implementation
844 * ICollection.cs, IComprarer.cs, IDictionary.cs,
845 IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
846 IList.cs: initial checkin