1 2004-12-21 Ben Maurer <bmaurer@ximian.com>
3 * Hashtable.cs (GetHash): Avoid a method call. Also, don't store
4 the this.hcpRef in a variable. This will create another register
5 which must be pushed on the stack. It is better to just reference
6 the variable again. hcpRef.GetHashCode (key) is the slow path
7 anyways, so an extra variable reference here doesn't hurt
10 This gives me a few % back in a raw benchmark.
12 2004-12-20 Ben Maurer <bmaurer@ximian.com>
14 * Hashtable.cs (Find): Some minor optimizations here.
16 * Hashtable.cs: Remove GetImpl and inline it.
18 * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
19 == key (ie, they are the same pointer). In many cases, this will
20 avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
22 * Hashtable.cs (Find): Make `i' a uint rather than an int. This
23 avoids having a long compare.
25 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
27 * Hashtable.cs: Check for null serialization info in OnDeserialization.
28 A hashtable subclass can fully override the constructor, so
29 serializationInfo would be null in this case. Fixes bug #70698.
31 2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
33 * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
35 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
37 * Hashtable.cs: Add deserialized elements in OnDeserialization, since
38 when the serialization constructor is called, some of the elements
39 may not yet be fully deserialized. This fixes bug #70570.
41 2004-10-08 Raja R Harinath <rharinath@novell.com>
43 * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
44 is not invariant, avoid an icall on every character.
46 2004-07-21 Geoff Norton <gnorton@customerdna.com>
48 * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
49 a snapshot out of sync error.
51 2004-07-21 Duncan Mak <duncan@ximian.com>
53 * DictionaryBase.cs: Rename the dictionary field to hashtable,
54 which causes a serialization interop bug. Fixes bug #61721.
56 2004-06-18 Ben Maurer <bmaurer@ximian.com>
58 * IKeyComparer.cs: v2 class
60 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
62 * CaseInsensitiveComparer.cs: added TODO for serialization
63 * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
64 * SortedList.cs: added TODO for serialization
65 * Stack.cs: added TODO for serialization
67 2004-06-14 Sebastien Pouliot <sebastien@ximian.com>
69 * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
71 2004-06-14 Lluis Sanchez Gual <lluis@ximian.com>
73 * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
75 2004-06-08 Lluis Sanchez Gual <lluis@ximian.com>
77 * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization
78 compatible with MS.NET.
80 2004-06-01 Sebastien Pouliot <sebastien@ximian.com>
82 * SortedList.cs: Fixed case where the initial capacity was set to 0.
84 2004-05-31 Sebastien Pouliot <sebastien@ximian.com>
86 * Hashtable.cs: Added ArgumentNullException in GetObjectData.
88 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
91 * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
94 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
96 * Compare.cs: ISerializable should only be implemented
99 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
101 * Compare.cs: Implemented ISerializable, fixes public API
103 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
105 * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
106 * Queue.cs: Fixed case where we could still get Current after the last
107 MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
108 * SortedList.cs: Added missing ICloneable support to internal
109 enumerator. Added Capacity to the synchronized version of SortedList.
110 Setting Capacity to 0 returns it to it's default value (16).
112 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
114 * ArrayList.cs: Fixed possible integer overflows.
116 2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
118 * Hashtable.cs: Renamed internal class to make serialization compatible
121 2004-05-10 Gert Driesen (drieseng@users.sourceforge.net)
122 * Hashtable.cs: marked EnumeratorMode private
123 * SortedList.cs: marked EnumeratorMode private
125 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
127 * Comparer.cs: ensure culture is set to null , removed
128 static constructor, removed unneccesary checks
130 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
132 * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
133 set CurrentCulture, ensure culture is set to null for invariant case,
135 * Comparer.cs: Restyle, change lineendings
137 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
139 * CaseInsensitiveHashCodeProvider.cs
140 * CaseInsensitiveComparer.cs: Change lineendings
141 * CaseInsensitiveComparer.cs: Restyle
143 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
145 * BitArray.cs: Fix parameter names
146 * CaseInsensitiveHashCodeProvider.cs: Fix signature
147 * DictionaryEntry.cs: Fix parameter names
148 * Hashtable.cs: Fix signatures
149 * SortedList.cs: Fix signatures
151 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
153 * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
154 set CurrentCulture, Add null check to other constructor, Call correct function
155 for invariant case, ensure culture is set to null for invariant case, removed
156 static constructor, made invariant version available as internal in .Net 1.0
158 2004-04-21 Lluis Sanchez Gual <lluis@ximian.com>
160 * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
161 Char.ToLower(c,culture), since it does not accept null as culture.
163 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
165 * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
166 interoperability). I also had to make some changes in the implementation:
167 I added a field _tail that points at the first free position in the array, and
168 changed the type of growFactor, which is now an int (its value is the old
171 2004-04-19 Lluis Sanchez Gual <lluis@ximian.com>
173 * Comparer.cs: Made constructor public.
175 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
177 * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
178 thread, not the one of the thread that created the instance.
179 * Comparer.cs: Added DefaultInvariant property and missing constructor.
180 Use the specified culture info to compare strings.
182 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
184 * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
185 Implemented property DefaultInvariant.
187 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
189 * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
190 (to allow serialization interoperability).
192 2004-03-18 David Sheldon <dave-mono@earth.li>
194 * Hashtable.cs: Serialise/Deserialise to two arrays of
195 keys/values. This will match what MS.NET appears to be
198 2004-02-12 Jackson Harper <jackson@ximian.com>
200 * SortedList.cs: Only .et 1.0 sets the capacity to a min of
203 2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
205 * Hashtable.cs: Added serialization support to SynchedHashtable. This
208 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
210 * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
213 2003-12-26 Ben Maurer <bmaurer@users.sourceforge.net>
215 * ArrayList.cs: Add class `SimpleEnumerator' this handles the
216 .GetEnumerator We are able to remove fields by doing this, the
217 sizeof the simple version is 75% of that of the complex one, so we
218 get a pretty nice saving.
220 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
222 * ArrayList.cs: Renamed private fields m_Count, m_Data and
223 m_StateChanges to _size, _items and _version, to make it compatible with
224 MS.NET (needed for remoting interoperability). This fixes bug #52438.
226 2003-12-01 Dick Porter <dick@ximian.com>
228 * CaseInsensitiveComparer.cs: Construct the default comparers when
229 they're needed, to avoid a dependency loop with CultureInfo's
232 2003-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
234 * Queue.cs: patch from Carlos Barcenilla.
236 - method: ICollection.Clone()
237 - Optimized. Removed unneeded instructions.
238 - method: public static Queue Synchronized (Queue queue)
239 - ArgumentNullException.ParamName must be "queue", not null.
240 - method: public virtual void TrimToSize()
241 - Must increment modCount.
243 private class SyncQueue
244 - method: public override object Clone ()
245 - Must return a synchronized (SyncStack) instance.
246 - method: public override void TrimToSize ()
249 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
251 * IEnumerator.cs: Added missing attribute
253 2003-11-12 Miguel de Icaza <miguel@ximian.com>
255 * CaseInsensitiveComparer.cs: Add missing method.
257 2003-11-10 Zoltan Varga <vargaz@freemail.hu>
259 * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
262 2003-11-03 Lluis Sanchez Gual <lluis@ximian.com>
264 * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
266 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
268 * System.Collections/Hashtable.cs: patch from Carlos A.
269 Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
270 Hashtable + NUnit2 tests.
272 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
274 * Queue.cs: nullify the array in Clear.
276 2003-09-26 Zoltan Varga <vargaz@freemail.hu>
278 * Hashtable.cs: Remove empty static constructor since it prevents this
279 class from being beforefieldinit.
281 2003-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
283 * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
285 2003-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
287 * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
290 2003-08-20 Duncan Mak <duncan@ximian.com>
292 * Hashtable.cs (PutImpl): Fix my previous checkin, see details
293 posted on bug #47692.
295 I really hope I don't mess up this time, because, if I do again,
296 it will be really embarrassing.
298 2003-08-17 Duncan Mak <duncan@ximian.com>
300 * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
301 Currently Hashtable.PutImpl has an incorrect test which causes the
302 key chain search to terminate as soon as a free slot is found,
303 causing key duplication.
305 This fixes bug #47692.
307 2003-08-11 Duncan Mak <duncan@ximian.com>
309 * DictionaryBase.cs: Applied patch from Carlos Barcenilla
310 (barce@frlp.utn.edu.ar).
312 (Idictionary.Add): Added OnValidate, and undo the transaction if
313 OnInsertCompleteFails.
315 (Indexer set): MS Implementation does not call OnInsert and undoes
316 if OnSetComplete throws an exception
317 (Indexer get): return value is obtained after calling OnGet.
319 (IDictionary.Remove): Call to OnValidate added. If key does not
320 exists calls OnValidate, OnRemove and OnRemoveComplete.
322 (protected IDictionary Dictionary get): Should return itself, not
325 This fixes bug #47460.
327 2003-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
329 * CollectionBase.cs: applied patch from Carlos Barcenilla
330 (barce@frlp.utn.edu.ar).
332 2003-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
334 * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
335 * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
336 (barce@frlp.utn.edu.ar). Most of the patch is also his.
338 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
340 * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
342 2003-07-29 Miguel de Icaza <miguel@ximian.com>
344 * ArrayList.cs: Deployed ArrayList from Tum; Fixed iterator to
345 allow nulls, and inline a few calls to make profiling more useful.
347 2003-07-24 Miguel de Icaza <miguel@ximian.com>
349 * ArrayList.cs: Removed MonoTODO.
351 2003-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
353 * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
354 Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
356 2003-06-27 Duncan Mak <duncan@ximian.com>
358 * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
359 returning DictionaryEntrys, instead of just the Key of the table.
361 2003-06-26 Lluis Sanchez Gual <lluis@ximian.com>
363 * Hashtable.cs: Fixed bug when serializing and deserializing
364 a hashtable from which one element has been deleted. The Object instance
365 used as a removed marker is not detected as a such, since the
366 serializer creates a different instace.
368 2003-06-13 Herve Poussineau <hpoussineau@fr.st>
370 * SortedList.cs: Can enumerate on DictionaryEntries, not only on
371 keys on values. Enumerate by default on DictionaryEntries.
373 2003-06-12 Duncan Mak <duncan@ximian.com>
375 * Hashtable.cs (constructor):
376 if loadFactor equals Single.NaN, then throw an
377 ArgumentOutOfRangeException.
379 if we set capacity to be too big (ie. capacity / loadFactor is
380 greater than Int32.MaxValue), then we throw an ArgumentException.
382 2003-06-11 Duncan Mak <duncan@ximian.com>
384 * SortedList.cs: Oi! What a mess.
386 If the list was constructed using the null-param constructor, and
387 it tries to set it to a size lower than the default, let it do so.
389 If the list was constructed with a specific size, and it tries to
390 set it to a size lower than the specified size, set it to the
393 (IndexOfValue): Clean up the code somewhat, make it allow for
396 2003-06-08 Ben Maurer <bmaurer@users.sourceforge.net>
397 * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
400 2003-06-07 Ben Maurer <bmaurer@users.sourceforge.net>
401 * Stack.cs: Contains (null) works correctly. We never have the
402 array sized less than 16, so that the doubling logic works no
403 matter what. The enumerator is IClonable, like in ms. The
404 Enumerator correctly throws an exception if Current is called
405 before the enumerator is started. We now pass all the Rotor tests
408 2003-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
410 * Stack.cs: fixed Clone ().
412 2003-06-04 Ben Maurer <bmaurer@users.sourceforge.net>
413 * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
416 2003-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
418 * ArrayList.cs: nullify the array in Clear ().
419 * Queue.cs: nullify the array in Dequeue ().
420 * Stack.cs: nullify the array in Pop ().
422 2003-06-02 Ben Maurer <bmaurer@users.sourceforge.net>
423 * Queue.cs: Added argument checking in constructors according to
424 specs. Also changed default size to 32 as required by the specs.
426 2003-05-31 Ben Maurer <bmaurer@users.sourceforge.net>
427 * BitArray.cs: Rewrote, as it was failing most of the Rotor
428 tests. It now passes them 100%. Also fixes bug #43667.
430 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
432 Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
434 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
436 Added methods to support IList wrappers
438 2003-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
440 * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
441 that fixes bug #41684.
443 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
445 * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
446 like MS.NET) and implemented the
447 CaseInsensitiveComparerTest(culture) constructor.
449 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
451 * Queue.cs: fixed bug #39046.
453 2003-02-15 Pedro MartÃnez Juliá <yoros@wanadoo.es>
455 * Hashtable.cs: Make hashtable serializable (at least with binary
456 formatter). This process was started by the Hashtable maintainer.
458 2003-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
460 * ArrayList.cs: fixed setSize (!).
462 2003-01-31 Zoltan Varga <vargaz@freemail.hu>
464 * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
465 here, since RemoveAt raises a different exception than RemoveRange
466 when the index is out-of-range. Fixes the ArrayList unit tests.
468 * ArrayList.cs (RemoveRange): fixed indentation.
470 2003-01-12 Varga Zoltan <vargaz@freemail.hu>
472 * ArrayList.cs (RemoveRange): Patch for allowing zero-size
473 removal at the end of a list. It also cleans up the argument
474 checking code so the raised exceptions have the same message as
477 2003-01-10 Duncan Mak <duncan@ximian.com>
479 * ArrayList.cs (Insert): Patch from Zoltan
480 (Zoltan.2.Varga@nokia.com).
482 2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
484 * Hashtable.cs: add the key to the error message when
487 2002-10-15 Vladimir Vukicevic <vladimir@pobox.com>
489 * Queue.cs: update new capacity in grow(), preventing queue from
490 constantly looping over old elements in Dequeue(). Also use
491 capacity instead of contents.Length in Enqueue().
493 2002-09-24 Nick Drochak <ndrochak@gol.com>
495 * ArrayList.cs: Make enumerator throw exception if the ArrayList is
496 mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
497 this was passed as parameter.
499 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
501 * ArrayList.cs: fixed bug #29658.
503 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
507 * CaseInsensitiveComparer.cs:
508 * CaseInsensitiveHashCodeProvider.cs:
510 * Queue.cs: misc. fixes based on class status page.
512 2002-07-22 Tim Coleman <tim@timcoleman.com>
513 * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
514 which was breaking System.Web build on linux
516 2002-07-05 Sergey Chaban <serge@wildwestsoftware.com>
518 * SortedList.cs: Implemented thread-safe wrapper. Changed some
521 2002-07-02 Nick Drochak <ndrochak@gol.com>
523 * SortedList.cs: Constructors should use the capacity given regardless
524 how small. After a Clear() the Capacit should be 16. Since a Dictionary
525 might be used in the constructor, make sure we trap exceptions thrown
526 by the Comparer, like in Add().
528 2002-06-30 Nick Drochak <ndrochak@gol.com>
530 * SortedList.cs: Many fixed. A lot of checking for null and throwing
531 exceptions. A few logic bugs fixed as well
533 2002-06-25 Nick Drochak <ndrochak@gol.com>
535 * Queue.cs (CopyTo): Fix logic for copying the circular array.
536 (Enqueue): Use actual length of array to determine when to grow
537 (QueueEnumerator) Fixed Current to use array length, not capacity, and
538 fixed off-by-one errror in MoveNext().
540 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
542 * ArrayList.cs: fixed RemoveAt() implementation.
544 2002-05-27 Nick Drochak <ndrochak@gol.com>
546 * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
547 fix check of parameters sent to make sure we don't search beyond the
548 beginning of the list.
549 (ListWrapper): Throw exception if called with null.
550 We now pass all unit tests.
552 2002-05-23 Duncan Mak <duncan@ximian.com>
554 * ArrayList.cs (Wrapper): Preliminary implementation of
555 ArrayList.Wrapper (IList).
557 2002-05-22 Martin Baulig <martin@gnome.org>
559 * ArrayList.cs: Made count, capacity and dataArray the first three
560 fields in the class. They're read by the reflection library.
562 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
564 * ArrayList.cs: Fixed bug where a capacity of 0 could be reached,
565 thereby causing problems when trying to add elements.
567 2002-05-06 Duncan Mak <duncan@ximian.com>
569 * Queue.cs (TrimToSize): Implemented.
571 2002-05-05 Nick Drochak <ndrochak@gol.com>
573 * ArrayList.cs: Throw RankException when constructing from a
574 multi-dimensional array. Confirmed behavior from MS.NET
576 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
578 * ArrayList.cs: make mcs compile again: it's allowed to
579 call arraylist.CopyTo(array, 0) when the length of the array
582 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
584 * SortedList.cs: fix RemoveAt () to use the correct length in
587 2002-05-01 Nick Drochak <ndrochak@gol.com>
589 * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
591 2002/05/01 Nick Drochak <ndrochak@gol.com>
593 * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
596 2002/04/30 Nick Drochak <ndrochak@gol.com>
598 * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
599 (InsertRange) : Implement.
600 (SetRange) : Implement.
602 2002-04-30 Nick Drochak <ndrochak@gol.com>
604 * ArrayList.cs (TrimToSize) : Implement.
606 2002-04-28 Duncan Mak <duncan@ximian.com>
608 * ArrayList.cs (InsertRange):
611 (TrimToSize): Throw exceptions where needed.
613 2002-04-29 Nick Drochak <ndrochak@gol.com>
615 * Hashtable.cs (CopyTo): Throw exceptions where needed.
617 2002-04-28 Duncan Mak <duncan@ximian.com>
619 * ArrayList.cs (ReadOnly):
620 (IList.ReadOnly): Implemented.
623 (IList.Synchronized): Implemented.
626 (IList.FixedSize): Implemented.
628 2002-03-24 Duncan Mak <duncan@ximian.com>
630 * SortedList.cs (Synchronized): Stubbed out a missing method
631 pointed out by Jakk Simm's test suite.
633 2002-03-14 Nick Drochak <ndrochak@gol.com>
635 * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
636 other FixedSize() methods returns an IList.
638 2002-03-13 Duncan Mak <duncan@ximian.com>
640 * ArrayList.cs (FixedSize): Changed the return type to IList if
641 the argument is an IList.
642 (Synchronized): Ditto here.
644 2002-03-08 Sergey Chaban <serge@wildwestsoftware.com>
646 * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
647 Removed unused code from static constructor.
648 GetObjectData () - Version is the same as modificationCount.
650 2002-02-20 Nick Drochak <ndrochak@gol.com>
652 * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
653 by Bucky's tests. Implement a couple of things that were left undone.
655 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
657 * ArrayList.cs: Dick's fix to contructor.
659 2002-02-07 Duncan Mak <duncan@ximian.com>
661 * Hashtable.cs: Implemented parts of the ISerializable
662 interface. GetObjectData () is good, but serialization constructor
663 needs some more love.
665 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
667 * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
669 2002-01-04 Ravi Pratap <ravi@ximian.com>
671 * Correct name to MonoTODO everywhere.
673 2002-01-04 Ravi Pratap <ravi@ximian.com>
675 * ArrayList.cs : Setting an index does not implicitly
676 extend the arraylist : remove FIXME.
678 Decorate incomplete elements with the TODO attribute.
680 * BitArray.cs : Insert TODO attributes where appropriate.
682 * CaseInsensitiveHashcodeProvider.cs: Ditto.
684 * Hashtable.cs, SortedList.cs : Ditto.
686 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
688 * ArrayList.cs: implemented AddRange(), CopyTo().
690 2001-11-19 Miguel de Icaza <miguel@ximian.com>
692 * DictionaryBase.cs: Implemented.
694 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
696 * ArrayList.cs: implement ArrayListEnumerator.
697 * Hashtable.cs: hardcode the prime number table.
699 2001-11-06 Nick Drochak <ndrochak@gol.com>
700 * Queue.cs: Fixes from Ricardardo. QueueTest also updated.
702 2001-11-04 Nick Drochak <ndrochak@gol.com>
703 * Queue.cs: Fixed small syntax errors that were preventing the compile.
704 I changed the build file to include Queue.cs as well.
706 2001-11-04 Nick Drochak <ndrochak@gol.com>
707 * ArrayList.cs: Fixed "off by one" error when shifting left the array when
710 * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
711 hook methods to the RemoveAt() method.
713 2001-11-04 Nick Drochak <ndrochak@gol.com>
714 * ArrayList.cs: Added private enumerator class and make GetEnumerator()
715 methods return an instance of it.
717 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
719 * ArrayList.cs: fix Insert () to check capacity, not count.
721 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
723 * DictionaryEntry.cs: added.
725 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
727 * common.src: removed duplicate entries
729 2001-08-08 Nick Drochak <ndrochak@gol.com>
731 * ReadOnlyCollectionBase.cs: Initialized private member.
732 * CollectionBase.cs: Initialized private member.
733 * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
734 * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
735 * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
737 2001-08-08 Nick Drochak <nick@jobdragon.com>
739 * CollectionBase.cs: Add
740 * ReadOnlyCollectionBase.cs: Add
741 * CollectionBaseTest.cs: Add
742 * ReadOnlyCollectionBaseTest.cs: Add
744 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
746 * StackTest.cs: Add Test case for System.Collections.Stack.
747 Contributed by Chris Hynes <chrish@assistedsolutions.com>
749 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
751 * Stack.cs: Clone() doesn't need to check if it's synchronized, since
752 we override it in SyncStack anyway...
754 * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to
755 avoid using massive amounts of memory that are not necessary. We only
756 drop to half the current size, which I hope will avoid the 'ping-pong'
759 * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly
760 instead of just returning false, since we may have a ReadOnly wrapper
761 in the future (although i can't imagine why). Thanks to David
762 Menestrina <dmenest@yahoo.com> for pointing this out.
764 2001-07-23 Sergey Chaban <serge@wildwestsoftware.com>
766 * Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
767 From now, Clear() increases modification count.
768 Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
769 instead of hcp.GetHashCode(key). This was resulted in the
770 insanely long lookup times when HashCodeProvider was used to
771 construct Hashtable. Added thread-safe wrapper.
773 2001-07-16 David Menestrina <dmenest@yahoo.com>
776 * BitArrayTest.cs: Add
778 2001-07-18 Miguel de Icaza <miguel@ximian.com>
780 * IDictionary.cs (Collections): IDictionary implements ICollection
781 as well. Thanks Sergey!
783 2001-07-18 Garrett Rooney <rooneg@electricjellyfish.net>
785 * Stack.cs Removed unnecessary locking from many methods of
786 SyncStack, removed SyncEnumerator because it was unnecessary,
787 added a modCount member to Stack and Stack.Enumerator, to
788 ensure that the Stack has not been modified out form under the
789 Enumerator, and changed the Enumerator to use a reference to the
790 stack rather than copying over the contents array.
792 2001-07-17 David Menestrina <dmenest@yahoo.com>
794 * Added implementation of BitArray.
796 2001-07-17 Miguel de Icaza <miguel@ximian.com>
798 * Hashtable.cs: Removed call to d.Count in the Hashtable
799 constructor that takes an IDictionary as IDictionary does not
800 provide a Count field.
802 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
804 * IDictionary.cs: Clear was clear.
806 2001-07-13 Miguel de Icaza <miguel@ximian.com>
808 * All files: Renamespace things to System.
810 2001-07-05 Vladimir Vukicevic <vladimir@ximian.com>
812 * ArrayList.cs: initial checkin and implementation
814 * ICollection.cs, IComprarer.cs, IDictionary.cs,
815 IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
816 IList.cs: initial checkin