1 2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
3 * Hashtable.cs: Mark all inner classes as [Serializable] to match MS
4 behaviour. Fix bug #76300.
6 2005-12-19 Sebastien Pouliot <sebastien@ximian.com>
8 * ArrayList.cs: Fix default capacity under 2.0 (and unit tests under
11 2005-12-07 Sebastien Pouliot <sebastien@ximian.com>
13 * SortedList.cs: Removed check for IComparable in ctor (fixed bug
14 #76750). Removed unused private method. Added more useful info (the
15 duplicate key) to an exception.
17 2005-12-06 Sebastien Pouliot <sebastien@ximian.com>
19 * CaseInsensitiveHashCodeProvider: Serialization is now compatible
20 with MS. Removes the last TODO for 1.1 in this namespace :-)
22 2005-12-05 Sebastien Pouliot <sebastien@ximian.com>
24 * Comparer.cs: Added GetObjectData method to implement ISerializable.
26 2005-09-29 Miguel de Icaza <miguel@novell.com>
28 * Add ComVisible(true) to all the classes that needed it.
30 * Removed documentation from DictionaryBase.cs and moved it to
33 * ArrayList.cs: Fixed signature for constructor, parameter names
36 * CollectionBase.cs: Add a couple of missing methods.
38 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
40 * Hashtable.cs : SyncHashtable.GetEnumerator() returned keys instead
41 of entries (DictionaryEntry). Fixed bug #75790.
43 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
45 * SortedList.cs : Even though the key/value pair being set are
46 identical to the existing one, it causes snapshot out of sync.
49 2005-07-21 Lluis Sanchez Gual <lluis@novell.com>
51 * CollectionBase.cs: Lazily create the inner list. MS.NET does
52 it and we need to do the same for the sake of serialization
53 interoperability. Fixes bug #75575.
55 2005-07-17 Florian Gross <flgr@ccan.de>
57 * ArrayList.cs: pass along index offset in RangedArrayList:ToArray.
60 2005-06-23 Ben Maurer <bmaurer@ximian.com>
62 * Queue.cs: Use the enumerator rather than copy to in the
63 ctor. This makes us more compat with msft, for example, when
68 2005-06-23 Martin Baulig <martin@ximian.com>
70 * IKeyComparer.cs: Removed.
72 2005-06-12 David Waite <dwaite@gmail.com>
74 * Hashtable.cs: make prime-related functions internal so generic
75 Dictionary can use them.
76 * IEqualityComparer.cs: add non-generic IEqualityComparer interface
78 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
80 * Hashtable.cs: Add some missing 2.0 attributes.
82 2005-05-26 Ben Maurer <bmaurer@ximian.com>
84 * Queue.cs (grow): fix 61919.
86 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
88 * Stack.cs : empty_stack.CopyTo(empty_array, 0) should be allowed.
90 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
92 * Hashtable.cs: Add net 2.0 ReliabilityContractAttributes.
94 2005-02-19 Kazuki Oikawa <kazuki@panicode.com>
96 * SortedList.cs, Stack.cs: Reverse the order in the Equals calls.
98 2004-12-21 Ben Maurer <bmaurer@ximian.com>
100 * Hashtable.cs (get_Item): duplicate Find here, as we can
101 specialize a few things. This gives me 7% back.
102 (Find) Use break rather than return -1. Saves a bit of code.
104 * Hashtable.cs (GetHash): Avoid a method call. Also, don't store
105 the this.hcpRef in a variable. This will create another register
106 which must be pushed on the stack. It is better to just reference
107 the variable again. hcpRef.GetHashCode (key) is the slow path
108 anyways, so an extra variable reference here doesn't hurt
111 This gives me a few % back in a raw benchmark.
113 2004-12-20 Ben Maurer <bmaurer@ximian.com>
115 * Hashtable.cs (Find): Some minor optimizations here.
117 * Hashtable.cs: Remove GetImpl and inline it.
119 * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
120 == key (ie, they are the same pointer). In many cases, this will
121 avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
123 * Hashtable.cs (Find): Make `i' a uint rather than an int. This
124 avoids having a long compare.
126 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
128 * Hashtable.cs: Check for null serialization info in OnDeserialization.
129 A hashtable subclass can fully override the constructor, so
130 serializationInfo would be null in this case. Fixes bug #70698.
132 2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
134 * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
136 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
138 * Hashtable.cs: Add deserialized elements in OnDeserialization, since
139 when the serialization constructor is called, some of the elements
140 may not yet be fully deserialized. This fixes bug #70570.
142 2004-10-08 Raja R Harinath <rharinath@novell.com>
144 * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
145 is not invariant, avoid an icall on every character.
147 2004-07-21 Geoff Norton <gnorton@customerdna.com>
149 * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
150 a snapshot out of sync error.
152 2004-07-21 Duncan Mak <duncan@ximian.com>
154 * DictionaryBase.cs: Rename the dictionary field to hashtable,
155 which causes a serialization interop bug. Fixes bug #61721.
157 2004-06-18 Ben Maurer <bmaurer@ximian.com>
159 * IKeyComparer.cs: v2 class
161 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
163 * CaseInsensitiveComparer.cs: added TODO for serialization
164 * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
165 * SortedList.cs: added TODO for serialization
166 * Stack.cs: added TODO for serialization
168 2004-06-14 Sebastien Pouliot <sebastien@ximian.com>
170 * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
172 2004-06-14 Lluis Sanchez Gual <lluis@ximian.com>
174 * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
176 2004-06-08 Lluis Sanchez Gual <lluis@ximian.com>
178 * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization
179 compatible with MS.NET.
181 2004-06-01 Sebastien Pouliot <sebastien@ximian.com>
183 * SortedList.cs: Fixed case where the initial capacity was set to 0.
185 2004-05-31 Sebastien Pouliot <sebastien@ximian.com>
187 * Hashtable.cs: Added ArgumentNullException in GetObjectData.
189 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
192 * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
195 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
197 * Compare.cs: ISerializable should only be implemented
200 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
202 * Compare.cs: Implemented ISerializable, fixes public API
204 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
206 * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
207 * Queue.cs: Fixed case where we could still get Current after the last
208 MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
209 * SortedList.cs: Added missing ICloneable support to internal
210 enumerator. Added Capacity to the synchronized version of SortedList.
211 Setting Capacity to 0 returns it to it's default value (16).
213 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
215 * ArrayList.cs: Fixed possible integer overflows.
217 2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
219 * Hashtable.cs: Renamed internal class to make serialization compatible
222 2004-05-10 Gert Driesen (drieseng@users.sourceforge.net)
223 * Hashtable.cs: marked EnumeratorMode private
224 * SortedList.cs: marked EnumeratorMode private
226 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
228 * Comparer.cs: ensure culture is set to null , removed
229 static constructor, removed unneccesary checks
231 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
233 * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
234 set CurrentCulture, ensure culture is set to null for invariant case,
236 * Comparer.cs: Restyle, change lineendings
238 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
240 * CaseInsensitiveHashCodeProvider.cs
241 * CaseInsensitiveComparer.cs: Change lineendings
242 * CaseInsensitiveComparer.cs: Restyle
244 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
246 * BitArray.cs: Fix parameter names
247 * CaseInsensitiveHashCodeProvider.cs: Fix signature
248 * DictionaryEntry.cs: Fix parameter names
249 * Hashtable.cs: Fix signatures
250 * SortedList.cs: Fix signatures
252 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
254 * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
255 set CurrentCulture, Add null check to other constructor, Call correct function
256 for invariant case, ensure culture is set to null for invariant case, removed
257 static constructor, made invariant version available as internal in .Net 1.0
259 2004-04-21 Lluis Sanchez Gual <lluis@ximian.com>
261 * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
262 Char.ToLower(c,culture), since it does not accept null as culture.
264 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
266 * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
267 interoperability). I also had to make some changes in the implementation:
268 I added a field _tail that points at the first free position in the array, and
269 changed the type of growFactor, which is now an int (its value is the old
272 2004-04-19 Lluis Sanchez Gual <lluis@ximian.com>
274 * Comparer.cs: Made constructor public.
276 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
278 * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
279 thread, not the one of the thread that created the instance.
280 * Comparer.cs: Added DefaultInvariant property and missing constructor.
281 Use the specified culture info to compare strings.
283 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
285 * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
286 Implemented property DefaultInvariant.
288 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
290 * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
291 (to allow serialization interoperability).
293 2004-03-18 David Sheldon <dave-mono@earth.li>
295 * Hashtable.cs: Serialise/Deserialise to two arrays of
296 keys/values. This will match what MS.NET appears to be
299 2004-02-12 Jackson Harper <jackson@ximian.com>
301 * SortedList.cs: Only .et 1.0 sets the capacity to a min of
304 2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
306 * Hashtable.cs: Added serialization support to SynchedHashtable. This
309 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
311 * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
314 2003-12-26 Ben Maurer <bmaurer@users.sourceforge.net>
316 * ArrayList.cs: Add class `SimpleEnumerator' this handles the
317 .GetEnumerator We are able to remove fields by doing this, the
318 sizeof the simple version is 75% of that of the complex one, so we
319 get a pretty nice saving.
321 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
323 * ArrayList.cs: Renamed private fields m_Count, m_Data and
324 m_StateChanges to _size, _items and _version, to make it compatible with
325 MS.NET (needed for remoting interoperability). This fixes bug #52438.
327 2003-12-01 Dick Porter <dick@ximian.com>
329 * CaseInsensitiveComparer.cs: Construct the default comparers when
330 they're needed, to avoid a dependency loop with CultureInfo's
333 2003-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335 * Queue.cs: patch from Carlos Barcenilla.
337 - method: ICollection.Clone()
338 - Optimized. Removed unneeded instructions.
339 - method: public static Queue Synchronized (Queue queue)
340 - ArgumentNullException.ParamName must be "queue", not null.
341 - method: public virtual void TrimToSize()
342 - Must increment modCount.
344 private class SyncQueue
345 - method: public override object Clone ()
346 - Must return a synchronized (SyncStack) instance.
347 - method: public override void TrimToSize ()
350 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
352 * IEnumerator.cs: Added missing attribute
354 2003-11-12 Miguel de Icaza <miguel@ximian.com>
356 * CaseInsensitiveComparer.cs: Add missing method.
358 2003-11-10 Zoltan Varga <vargaz@freemail.hu>
360 * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
363 2003-11-03 Lluis Sanchez Gual <lluis@ximian.com>
365 * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
367 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
369 * System.Collections/Hashtable.cs: patch from Carlos A.
370 Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
371 Hashtable + NUnit2 tests.
373 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
375 * Queue.cs: nullify the array in Clear.
377 2003-09-26 Zoltan Varga <vargaz@freemail.hu>
379 * Hashtable.cs: Remove empty static constructor since it prevents this
380 class from being beforefieldinit.
382 2003-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
384 * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
386 2003-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
388 * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
391 2003-08-20 Duncan Mak <duncan@ximian.com>
393 * Hashtable.cs (PutImpl): Fix my previous checkin, see details
394 posted on bug #47692.
396 I really hope I don't mess up this time, because, if I do again,
397 it will be really embarrassing.
399 2003-08-17 Duncan Mak <duncan@ximian.com>
401 * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
402 Currently Hashtable.PutImpl has an incorrect test which causes the
403 key chain search to terminate as soon as a free slot is found,
404 causing key duplication.
406 This fixes bug #47692.
408 2003-08-11 Duncan Mak <duncan@ximian.com>
410 * DictionaryBase.cs: Applied patch from Carlos Barcenilla
411 (barce@frlp.utn.edu.ar).
413 (Idictionary.Add): Added OnValidate, and undo the transaction if
414 OnInsertCompleteFails.
416 (Indexer set): MS Implementation does not call OnInsert and undoes
417 if OnSetComplete throws an exception
418 (Indexer get): return value is obtained after calling OnGet.
420 (IDictionary.Remove): Call to OnValidate added. If key does not
421 exists calls OnValidate, OnRemove and OnRemoveComplete.
423 (protected IDictionary Dictionary get): Should return itself, not
426 This fixes bug #47460.
428 2003-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
430 * CollectionBase.cs: applied patch from Carlos Barcenilla
431 (barce@frlp.utn.edu.ar).
433 2003-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
435 * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
436 * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
437 (barce@frlp.utn.edu.ar). Most of the patch is also his.
439 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
441 * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
443 2003-07-29 Miguel de Icaza <miguel@ximian.com>
445 * ArrayList.cs: Deployed ArrayList from Tum; Fixed iterator to
446 allow nulls, and inline a few calls to make profiling more useful.
448 2003-07-24 Miguel de Icaza <miguel@ximian.com>
450 * ArrayList.cs: Removed MonoTODO.
452 2003-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
454 * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
455 Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
457 2003-06-27 Duncan Mak <duncan@ximian.com>
459 * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
460 returning DictionaryEntrys, instead of just the Key of the table.
462 2003-06-26 Lluis Sanchez Gual <lluis@ximian.com>
464 * Hashtable.cs: Fixed bug when serializing and deserializing
465 a hashtable from which one element has been deleted. The Object instance
466 used as a removed marker is not detected as a such, since the
467 serializer creates a different instace.
469 2003-06-13 Herve Poussineau <hpoussineau@fr.st>
471 * SortedList.cs: Can enumerate on DictionaryEntries, not only on
472 keys on values. Enumerate by default on DictionaryEntries.
474 2003-06-12 Duncan Mak <duncan@ximian.com>
476 * Hashtable.cs (constructor):
477 if loadFactor equals Single.NaN, then throw an
478 ArgumentOutOfRangeException.
480 if we set capacity to be too big (ie. capacity / loadFactor is
481 greater than Int32.MaxValue), then we throw an ArgumentException.
483 2003-06-11 Duncan Mak <duncan@ximian.com>
485 * SortedList.cs: Oi! What a mess.
487 If the list was constructed using the null-param constructor, and
488 it tries to set it to a size lower than the default, let it do so.
490 If the list was constructed with a specific size, and it tries to
491 set it to a size lower than the specified size, set it to the
494 (IndexOfValue): Clean up the code somewhat, make it allow for
497 2003-06-08 Ben Maurer <bmaurer@users.sourceforge.net>
498 * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
501 2003-06-07 Ben Maurer <bmaurer@users.sourceforge.net>
502 * Stack.cs: Contains (null) works correctly. We never have the
503 array sized less than 16, so that the doubling logic works no
504 matter what. The enumerator is IClonable, like in ms. The
505 Enumerator correctly throws an exception if Current is called
506 before the enumerator is started. We now pass all the Rotor tests
509 2003-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
511 * Stack.cs: fixed Clone ().
513 2003-06-04 Ben Maurer <bmaurer@users.sourceforge.net>
514 * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
517 2003-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
519 * ArrayList.cs: nullify the array in Clear ().
520 * Queue.cs: nullify the array in Dequeue ().
521 * Stack.cs: nullify the array in Pop ().
523 2003-06-02 Ben Maurer <bmaurer@users.sourceforge.net>
524 * Queue.cs: Added argument checking in constructors according to
525 specs. Also changed default size to 32 as required by the specs.
527 2003-05-31 Ben Maurer <bmaurer@users.sourceforge.net>
528 * BitArray.cs: Rewrote, as it was failing most of the Rotor
529 tests. It now passes them 100%. Also fixes bug #43667.
531 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
533 Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
535 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
537 Added methods to support IList wrappers
539 2003-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
541 * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
542 that fixes bug #41684.
544 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
546 * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
547 like MS.NET) and implemented the
548 CaseInsensitiveComparerTest(culture) constructor.
550 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
552 * Queue.cs: fixed bug #39046.
554 2003-02-15 Pedro Martnez Juli <yoros@wanadoo.es>
556 * Hashtable.cs: Make hashtable serializable (at least with binary
557 formatter). This process was started by the Hashtable maintainer.
559 2003-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
561 * ArrayList.cs: fixed setSize (!).
563 2003-01-31 Zoltan Varga <vargaz@freemail.hu>
565 * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
566 here, since RemoveAt raises a different exception than RemoveRange
567 when the index is out-of-range. Fixes the ArrayList unit tests.
569 * ArrayList.cs (RemoveRange): fixed indentation.
571 2003-01-12 Varga Zoltan <vargaz@freemail.hu>
573 * ArrayList.cs (RemoveRange): Patch for allowing zero-size
574 removal at the end of a list. It also cleans up the argument
575 checking code so the raised exceptions have the same message as
578 2003-01-10 Duncan Mak <duncan@ximian.com>
580 * ArrayList.cs (Insert): Patch from Zoltan
581 (Zoltan.2.Varga@nokia.com).
583 2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
585 * Hashtable.cs: add the key to the error message when
588 2002-10-15 Vladimir Vukicevic <vladimir@pobox.com>
590 * Queue.cs: update new capacity in grow(), preventing queue from
591 constantly looping over old elements in Dequeue(). Also use
592 capacity instead of contents.Length in Enqueue().
594 2002-09-24 Nick Drochak <ndrochak@gol.com>
596 * ArrayList.cs: Make enumerator throw exception if the ArrayList is
597 mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
598 this was passed as parameter.
600 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
602 * ArrayList.cs: fixed bug #29658.
604 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
608 * CaseInsensitiveComparer.cs:
609 * CaseInsensitiveHashCodeProvider.cs:
611 * Queue.cs: misc. fixes based on class status page.
613 2002-07-22 Tim Coleman <tim@timcoleman.com>
614 * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
615 which was breaking System.Web build on linux
617 2002-07-05 Sergey Chaban <serge@wildwestsoftware.com>
619 * SortedList.cs: Implemented thread-safe wrapper. Changed some
622 2002-07-02 Nick Drochak <ndrochak@gol.com>
624 * SortedList.cs: Constructors should use the capacity given regardless
625 how small. After a Clear() the Capacit should be 16. Since a Dictionary
626 might be used in the constructor, make sure we trap exceptions thrown
627 by the Comparer, like in Add().
629 2002-06-30 Nick Drochak <ndrochak@gol.com>
631 * SortedList.cs: Many fixed. A lot of checking for null and throwing
632 exceptions. A few logic bugs fixed as well
634 2002-06-25 Nick Drochak <ndrochak@gol.com>
636 * Queue.cs (CopyTo): Fix logic for copying the circular array.
637 (Enqueue): Use actual length of array to determine when to grow
638 (QueueEnumerator) Fixed Current to use array length, not capacity, and
639 fixed off-by-one errror in MoveNext().
641 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
643 * ArrayList.cs: fixed RemoveAt() implementation.
645 2002-05-27 Nick Drochak <ndrochak@gol.com>
647 * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
648 fix check of parameters sent to make sure we don't search beyond the
649 beginning of the list.
650 (ListWrapper): Throw exception if called with null.
651 We now pass all unit tests.
653 2002-05-23 Duncan Mak <duncan@ximian.com>
655 * ArrayList.cs (Wrapper): Preliminary implementation of
656 ArrayList.Wrapper (IList).
658 2002-05-22 Martin Baulig <martin@gnome.org>
660 * ArrayList.cs: Made count, capacity and dataArray the first three
661 fields in the class. They're read by the reflection library.
663 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
665 * ArrayList.cs: Fixed bug where a capacity of 0 could be reached,
666 thereby causing problems when trying to add elements.
668 2002-05-06 Duncan Mak <duncan@ximian.com>
670 * Queue.cs (TrimToSize): Implemented.
672 2002-05-05 Nick Drochak <ndrochak@gol.com>
674 * ArrayList.cs: Throw RankException when constructing from a
675 multi-dimensional array. Confirmed behavior from MS.NET
677 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
679 * ArrayList.cs: make mcs compile again: it's allowed to
680 call arraylist.CopyTo(array, 0) when the length of the array
683 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
685 * SortedList.cs: fix RemoveAt () to use the correct length in
688 2002-05-01 Nick Drochak <ndrochak@gol.com>
690 * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
692 2002/05/01 Nick Drochak <ndrochak@gol.com>
694 * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
697 2002/04/30 Nick Drochak <ndrochak@gol.com>
699 * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
700 (InsertRange) : Implement.
701 (SetRange) : Implement.
703 2002-04-30 Nick Drochak <ndrochak@gol.com>
705 * ArrayList.cs (TrimToSize) : Implement.
707 2002-04-28 Duncan Mak <duncan@ximian.com>
709 * ArrayList.cs (InsertRange):
712 (TrimToSize): Throw exceptions where needed.
714 2002-04-29 Nick Drochak <ndrochak@gol.com>
716 * Hashtable.cs (CopyTo): Throw exceptions where needed.
718 2002-04-28 Duncan Mak <duncan@ximian.com>
720 * ArrayList.cs (ReadOnly):
721 (IList.ReadOnly): Implemented.
724 (IList.Synchronized): Implemented.
727 (IList.FixedSize): Implemented.
729 2002-03-24 Duncan Mak <duncan@ximian.com>
731 * SortedList.cs (Synchronized): Stubbed out a missing method
732 pointed out by Jakk Simm's test suite.
734 2002-03-14 Nick Drochak <ndrochak@gol.com>
736 * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
737 other FixedSize() methods returns an IList.
739 2002-03-13 Duncan Mak <duncan@ximian.com>
741 * ArrayList.cs (FixedSize): Changed the return type to IList if
742 the argument is an IList.
743 (Synchronized): Ditto here.
745 2002-03-08 Sergey Chaban <serge@wildwestsoftware.com>
747 * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
748 Removed unused code from static constructor.
749 GetObjectData () - Version is the same as modificationCount.
751 2002-02-20 Nick Drochak <ndrochak@gol.com>
753 * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
754 by Bucky's tests. Implement a couple of things that were left undone.
756 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
758 * ArrayList.cs: Dick's fix to contructor.
760 2002-02-07 Duncan Mak <duncan@ximian.com>
762 * Hashtable.cs: Implemented parts of the ISerializable
763 interface. GetObjectData () is good, but serialization constructor
764 needs some more love.
766 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
768 * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
770 2002-01-04 Ravi Pratap <ravi@ximian.com>
772 * Correct name to MonoTODO everywhere.
774 2002-01-04 Ravi Pratap <ravi@ximian.com>
776 * ArrayList.cs : Setting an index does not implicitly
777 extend the arraylist : remove FIXME.
779 Decorate incomplete elements with the TODO attribute.
781 * BitArray.cs : Insert TODO attributes where appropriate.
783 * CaseInsensitiveHashcodeProvider.cs: Ditto.
785 * Hashtable.cs, SortedList.cs : Ditto.
787 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
789 * ArrayList.cs: implemented AddRange(), CopyTo().
791 2001-11-19 Miguel de Icaza <miguel@ximian.com>
793 * DictionaryBase.cs: Implemented.
795 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
797 * ArrayList.cs: implement ArrayListEnumerator.
798 * Hashtable.cs: hardcode the prime number table.
800 2001-11-06 Nick Drochak <ndrochak@gol.com>
801 * Queue.cs: Fixes from Ricardardo. QueueTest also updated.
803 2001-11-04 Nick Drochak <ndrochak@gol.com>
804 * Queue.cs: Fixed small syntax errors that were preventing the compile.
805 I changed the build file to include Queue.cs as well.
807 2001-11-04 Nick Drochak <ndrochak@gol.com>
808 * ArrayList.cs: Fixed "off by one" error when shifting left the array when
811 * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
812 hook methods to the RemoveAt() method.
814 2001-11-04 Nick Drochak <ndrochak@gol.com>
815 * ArrayList.cs: Added private enumerator class and make GetEnumerator()
816 methods return an instance of it.
818 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
820 * ArrayList.cs: fix Insert () to check capacity, not count.
822 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
824 * DictionaryEntry.cs: added.
826 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
828 * common.src: removed duplicate entries
830 2001-08-08 Nick Drochak <ndrochak@gol.com>
832 * ReadOnlyCollectionBase.cs: Initialized private member.
833 * CollectionBase.cs: Initialized private member.
834 * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
835 * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
836 * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
838 2001-08-08 Nick Drochak <nick@jobdragon.com>
840 * CollectionBase.cs: Add
841 * ReadOnlyCollectionBase.cs: Add
842 * CollectionBaseTest.cs: Add
843 * ReadOnlyCollectionBaseTest.cs: Add
845 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
847 * StackTest.cs: Add Test case for System.Collections.Stack.
848 Contributed by Chris Hynes <chrish@assistedsolutions.com>
850 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
852 * Stack.cs: Clone() doesn't need to check if it's synchronized, since
853 we override it in SyncStack anyway...
855 * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to
856 avoid using massive amounts of memory that are not necessary. We only
857 drop to half the current size, which I hope will avoid the 'ping-pong'
860 * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly
861 instead of just returning false, since we may have a ReadOnly wrapper
862 in the future (although i can't imagine why). Thanks to David
863 Menestrina <dmenest@yahoo.com> for pointing this out.
865 2001-07-23 Sergey Chaban <serge@wildwestsoftware.com>
867 * Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
868 From now, Clear() increases modification count.
869 Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
870 instead of hcp.GetHashCode(key). This was resulted in the
871 insanely long lookup times when HashCodeProvider was used to
872 construct Hashtable. Added thread-safe wrapper.
874 2001-07-16 David Menestrina <dmenest@yahoo.com>
877 * BitArrayTest.cs: Add
879 2001-07-18 Miguel de Icaza <miguel@ximian.com>
881 * IDictionary.cs (Collections): IDictionary implements ICollection
882 as well. Thanks Sergey!
884 2001-07-18 Garrett Rooney <rooneg@electricjellyfish.net>
886 * Stack.cs Removed unnecessary locking from many methods of
887 SyncStack, removed SyncEnumerator because it was unnecessary,
888 added a modCount member to Stack and Stack.Enumerator, to
889 ensure that the Stack has not been modified out form under the
890 Enumerator, and changed the Enumerator to use a reference to the
891 stack rather than copying over the contents array.
893 2001-07-17 David Menestrina <dmenest@yahoo.com>
895 * Added implementation of BitArray.
897 2001-07-17 Miguel de Icaza <miguel@ximian.com>
899 * Hashtable.cs: Removed call to d.Count in the Hashtable
900 constructor that takes an IDictionary as IDictionary does not
901 provide a Count field.
903 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
905 * IDictionary.cs: Clear was clear.
907 2001-07-13 Miguel de Icaza <miguel@ximian.com>
909 * All files: Renamespace things to System.
911 2001-07-05 Vladimir Vukicevic <vladimir@ximian.com>
913 * ArrayList.cs: initial checkin and implementation
915 * ICollection.cs, IComprarer.cs, IDictionary.cs,
916 IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
917 IList.cs: initial checkin