1 2010-04-15 Jérémie Laval <jeremie.laval@gmail.com>
3 * IStructuralComparable.cs:
4 * IStructuralEquatable.cs: Add BOOTSTRAP_NET_4_0 define
6 2010-03-19 Sebastien Pouliot <sebastien@ximian.com>
8 * CollectionDebuggerView.cs: Change to internal so we can avoid
9 a duplicating the type in assemblies that have [InternalsVisibleTo]
11 2010-03-16 Jb Evain <jbevain@novell.com>
13 * IStructuralComparable.cs, IStructuralEquatable.cs: use
14 MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
16 2010-03-12 Sebastien Pouliot <sebastien@ximian.com>
18 * IStructuralComparable.cs, IStructuralEquatable.cs: Add them to
19 NET_2_1 since they are parts of SL4
21 2009-11-26 Marek Safar <marek.safar@gmail.com>
23 * CollectionDebuggerView.cs: Removed limit restriction.
25 2009-10-22 Marek Safar <marek.safar@gmail.com>
27 * StructuralComparisons.cs: Implemented.
29 * SortedList.cs Add nicer debug view for tools which support it.
31 2009-10-16 Miguel de Icaza <miguel@novell.com>
33 * Jumbo patch to elimiante more dead code now that we have dropped
36 2009-09-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
38 * Hashtable.cs: MS (at least latest and greatest) does not always
39 serialized the HashCodeProvider. Ignoring the error when the field
42 2009-09-24 Marek Safar <marek.safar@gmail.com>
44 * Queue.cs, DictionaryEntry.cs, Hashtable.cs,
45 CollectionDebuggerView.cs, Stack.cs, ArrayList.cs: Add nicer debug
46 view for tools which support it.
48 2009-09-22 Marek Safar <marek.safar@gmail.com>
50 * Queue.cs, Hashtable.cs, SortedList.cs, Stack.cs, ArrayList.cs:
51 Add DebuggerDisplay attribute.
53 2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
55 * SortedList.cs: same issue as bug #521750 in System.
57 2009-05-22 Zoltan Varga <vargaz@gmail.com>
59 * IStructuralComparable.cs IStructuralEquatable.cs: New files.
61 2008-08-31 Zoltan Varga <vargaz@gmail.com>
63 * BitArray.cs (CopyTo): Allow an index equal to the array length if
64 the bit array has no elements. Fixes #421803.
66 2008-08-05 Jb Evain <jbevain@novell.com>
68 * CaseInsensitiveHashCodeProvider.cs: refactor CultureInfo
69 comparison to also work for SL2.
71 2008-08-04 Jb Evain <jbevain@novell.com>
73 * Hashtable.cs: cleanup internal KeyMarker type for NET_2_1.
75 2008-08-04 Jb Evain <jbevain@novell.com>
77 * ArrayList.cs: introduce a helper method to throw
78 ArgumentOutOfRangeExceptions correctly as SL miss some
81 2008-05-29 Juraj Skripsky <js@hotfeet.ch>
83 * ArrayList.cs: Create the empty array only once and reuse it.
85 2008-05-23 Miguel de Icaza <miguel@novell.com>
87 * Hashtable.cs: Implement a faster clone that does not use an
88 enumerator to iterate over the values, this doubles the speed of
91 The use of an internal constructor that builds from a Hashtable is
92 done to avoid populating a Hashtable and then updating every field
93 and structure with new data.
95 2008-05-08 Robert Jordan <robertj@gmx.net>
97 * DictionaryEntry.cs: Rename fields for serialization
98 compatibility with MS. Accept null keys on 2.0 profile.
101 2008-04-13 Jb Evain <jbevain@novell.com>
103 * ArrayList.cs, BitArray.cs, CaseInsensitiveComparer.cs
104 CaseInsensitiveHashCodeProvider.cs, CollectionBase.cs,
105 Comparer.cs, IHashCodeProvider.cs, Hashtable.cs,
106 Queue.cs, Stack.cs: use the INSIDE_CORLIB pattern to
107 internalize code that is used outside the corlib.
108 Merged from the Moonlight 2 branch.
110 2008-04-02 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
114 * IEqualityComparer.cs
117 * Stack.cs: Fix parameter names
119 2008-03-24 Gert Driesen <drieseng@users.sourceforge.net>
121 * DictionaryBase.cs: Restore previous behavior of indexer for the
122 1.0 profile. On 2.0 profile, do nothing in IDictionary.Remove if
123 the key is not present in the hashtable. On 2.0 profile, we also need
124 to add entry back to hashtable when an exception is thrown in
127 2008-03-21 Sebastien Pouliot <sebastien@ximian.com>
129 * DictionaryBase.cs: Fix getter on IDictionary.this to avoid two
130 access to the hashtable and to behave more closely to MS
131 implementation (see new unit tests).
133 2007-11-06 Jb Evain <jbevain@novell.com>
135 * Hashtable.cs: Don't compare user keys against the special removed
138 2007-11-05 Sebastien Pouliot <sebastien@ximian.com>
140 * Queue.cs: Avoid IndexOutOfRangeException after TrimToSize. Patch by
141 Benjamin Lutz. Fix #321657.
143 2007-10-25 Zoltan Varga <vargaz@gmail.com>
145 * Hashtable.cs: Put the hash values into a separate array to help the GC. Fixes
148 2007-10-23 Robert Jordan <robertj@gmx.net>
150 * SortedList.cs: Mark List|{Values|Keys} as serializable.
153 2007-08-25 Zoltan Varga <vargaz@gmail.com>
155 * ArrayList.cs: Fix overflows in BinarySearch and qsort.
157 2007-08-08 Atsushi Enomoto <atsushi@ximian.com>
159 * ReadOnlyCollectionBase.cs CollectionBase.cs :
160 cosmetic 2.0 API fixes.
162 2007-07-19 Juraj Skripsky <js@hotfeet.ch>
164 * ArrayList.cs (ArrayList.Adapter): If the given list already is an
165 ArrayList, just return it directly.
167 2007-07-05 Gert Driesen <drieseng@users.sourceforge.net>
169 * CaseInsensitiveHashCodeProvider.cs: Lazy init Default instance and
170 reconstruct it if CurrentCulture changes.
172 2007-07-05 Gert Driesen <drieseng@users.sourceforge.net>
174 * CaseInsensitiveHashCodeProvider.cs: In default ctor, do not save
175 TextInfo if current culture is invariant. Remoted private ctor.
176 In Default, always construct new instance since the current culture
179 2007-06-08 Ankit Jain <jankit@novell.com>
181 * ArrayList.cs (Shift): Clear the unused part of the array when
184 2006-12-29 Marek Safar <marek.safar@gmail.com>
186 * BitArray.cs: Performance improvements.
188 2006-11-16 Miguel de Icaza <miguel@novell.com>
190 * Hashtable.cs: Serialize EqualityComparer.
192 2006-08-16 Miguel de Icaza <miguel@novell.com>
194 * Hashtable.cs (PutImpl): Do not access the table twice, only
197 (TestPrime): optimize, take the sqrt out of the loop.
199 2006-08-08 Duncan Mak <duncan@novell.com>
201 * ReadOnlyCollectionBase.cs (Count): Mark as virtual in
202 NET_2_0. Fixes #79033.
204 2006-04-26 Atsushi Enomoto <atsushi@ximian.com>
206 * Comparer.cs : changed internal field from CultureInfo to
207 CompareInfo. This cosmetic change should fix bug #77701.
209 2006-03-28 Marek Safar <marek.safar@seznam.cz>
211 * Stack.cs: Changed ctor to allocate only requested memory.
213 Tue Feb 28 14:16:25 CET 2006 Paolo Molaro <lupus@ximian.com>
215 * BitArray.cs: reintroduce optimization carelessly removed by
218 2006-02-03 Sebastien Robitaille <sebastien.robitaille@croesus.com>
220 * BitArray.cs: Renamed members for interoperability with MS.
222 Tue Jan 24 18:24:00 CET 2006 Paolo Molaro <lupus@ximian.com>
224 * BitArray.cs: optimize bit access by removing expensive
227 2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
229 * Hashtable.cs: Mark all inner classes as [Serializable] to match MS
230 behaviour. Fix bug #76300.
232 2005-12-19 Sebastien Pouliot <sebastien@ximian.com>
234 * ArrayList.cs: Fix default capacity under 2.0 (and unit tests under
237 2005-12-07 Sebastien Pouliot <sebastien@ximian.com>
239 * SortedList.cs: Removed check for IComparable in ctor (fixed bug
240 #76750). Removed unused private method. Added more useful info (the
241 duplicate key) to an exception.
243 2005-12-06 Sebastien Pouliot <sebastien@ximian.com>
245 * CaseInsensitiveHashCodeProvider: Serialization is now compatible
246 with MS. Removes the last TODO for 1.1 in this namespace :-)
248 2005-12-05 Sebastien Pouliot <sebastien@ximian.com>
250 * Comparer.cs: Added GetObjectData method to implement ISerializable.
252 2005-09-29 Miguel de Icaza <miguel@novell.com>
254 * Add ComVisible(true) to all the classes that needed it.
256 * Removed documentation from DictionaryBase.cs and moved it to
259 * ArrayList.cs: Fixed signature for constructor, parameter names
262 * CollectionBase.cs: Add a couple of missing methods.
264 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
266 * Hashtable.cs : SyncHashtable.GetEnumerator() returned keys instead
267 of entries (DictionaryEntry). Fixed bug #75790.
269 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
271 * SortedList.cs : Even though the key/value pair being set are
272 identical to the existing one, it causes snapshot out of sync.
275 2005-07-21 Lluis Sanchez Gual <lluis@novell.com>
277 * CollectionBase.cs: Lazily create the inner list. MS.NET does
278 it and we need to do the same for the sake of serialization
279 interoperability. Fixes bug #75575.
281 2005-07-17 Florian Gross <flgr@ccan.de>
283 * ArrayList.cs: pass along index offset in RangedArrayList:ToArray.
286 2005-06-23 Ben Maurer <bmaurer@ximian.com>
288 * Queue.cs: Use the enumerator rather than copy to in the
289 ctor. This makes us more compat with msft, for example, when
294 2005-06-23 Martin Baulig <martin@ximian.com>
296 * IKeyComparer.cs: Removed.
298 2005-06-12 David Waite <dwaite@gmail.com>
300 * Hashtable.cs: make prime-related functions internal so generic
301 Dictionary can use them.
302 * IEqualityComparer.cs: add non-generic IEqualityComparer interface
304 2005-06-06 Zoltan Varga <vargaz@freemail.hu>
306 * Hashtable.cs: Add some missing 2.0 attributes.
308 2005-05-26 Ben Maurer <bmaurer@ximian.com>
310 * Queue.cs (grow): fix 61919.
312 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
314 * Stack.cs : empty_stack.CopyTo(empty_array, 0) should be allowed.
316 2005-02-21 Zoltan Varga <vargaz@freemail.hu>
318 * Hashtable.cs: Add net 2.0 ReliabilityContractAttributes.
320 2005-02-19 Kazuki Oikawa <kazuki@panicode.com>
322 * SortedList.cs, Stack.cs: Reverse the order in the Equals calls.
324 2004-12-21 Ben Maurer <bmaurer@ximian.com>
326 * Hashtable.cs (get_Item): duplicate Find here, as we can
327 specialize a few things. This gives me 7% back.
328 (Find) Use break rather than return -1. Saves a bit of code.
330 * Hashtable.cs (GetHash): Avoid a method call. Also, don't store
331 the this.hcpRef in a variable. This will create another register
332 which must be pushed on the stack. It is better to just reference
333 the variable again. hcpRef.GetHashCode (key) is the slow path
334 anyways, so an extra variable reference here doesn't hurt
337 This gives me a few % back in a raw benchmark.
339 2004-12-20 Ben Maurer <bmaurer@ximian.com>
341 * Hashtable.cs (Find): Some minor optimizations here.
343 * Hashtable.cs: Remove GetImpl and inline it.
345 * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
346 == key (ie, they are the same pointer). In many cases, this will
347 avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
349 * Hashtable.cs (Find): Make `i' a uint rather than an int. This
350 avoids having a long compare.
352 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
354 * Hashtable.cs: Check for null serialization info in OnDeserialization.
355 A hashtable subclass can fully override the constructor, so
356 serializationInfo would be null in this case. Fixes bug #70698.
358 2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
360 * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
362 2004-12-16 Lluis Sanchez Gual <lluis@novell.com>
364 * Hashtable.cs: Add deserialized elements in OnDeserialization, since
365 when the serialization constructor is called, some of the elements
366 may not yet be fully deserialized. This fixes bug #70570.
368 2004-10-08 Raja R Harinath <rharinath@novell.com>
370 * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
371 is not invariant, avoid an icall on every character.
373 2004-07-21 Geoff Norton <gnorton@customerdna.com>
375 * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
376 a snapshot out of sync error.
378 2004-07-21 Duncan Mak <duncan@ximian.com>
380 * DictionaryBase.cs: Rename the dictionary field to hashtable,
381 which causes a serialization interop bug. Fixes bug #61721.
383 2004-06-18 Ben Maurer <bmaurer@ximian.com>
385 * IKeyComparer.cs: v2 class
387 2004-06-15 Gert Driesen <drieseng@users.sourceforge.net>
389 * CaseInsensitiveComparer.cs: added TODO for serialization
390 * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
391 * SortedList.cs: added TODO for serialization
392 * Stack.cs: added TODO for serialization
394 2004-06-14 Sebastien Pouliot <sebastien@ximian.com>
396 * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
398 2004-06-14 Lluis Sanchez Gual <lluis@ximian.com>
400 * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
402 2004-06-08 Lluis Sanchez Gual <lluis@ximian.com>
404 * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization
405 compatible with MS.NET.
407 2004-06-01 Sebastien Pouliot <sebastien@ximian.com>
409 * SortedList.cs: Fixed case where the initial capacity was set to 0.
411 2004-05-31 Sebastien Pouliot <sebastien@ximian.com>
413 * Hashtable.cs: Added ArgumentNullException in GetObjectData.
415 2004-05-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
418 * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
421 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
423 * Compare.cs: ISerializable should only be implemented
426 2004-05-29 Gert Driesen (drieseng@users.sourceforge.net)
428 * Compare.cs: Implemented ISerializable, fixes public API
430 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
432 * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
433 * Queue.cs: Fixed case where we could still get Current after the last
434 MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
435 * SortedList.cs: Added missing ICloneable support to internal
436 enumerator. Added Capacity to the synchronized version of SortedList.
437 Setting Capacity to 0 returns it to it's default value (16).
439 2004-05-26 Sebastien Pouliot <sebastien@ximian.com>
441 * ArrayList.cs: Fixed possible integer overflows.
443 2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
445 * Hashtable.cs: Renamed internal class to make serialization compatible
448 2004-05-10 Gert Driesen (drieseng@users.sourceforge.net)
449 * Hashtable.cs: marked EnumeratorMode private
450 * SortedList.cs: marked EnumeratorMode private
452 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
454 * Comparer.cs: ensure culture is set to null , removed
455 static constructor, removed unneccesary checks
457 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
459 * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
460 set CurrentCulture, ensure culture is set to null for invariant case,
462 * Comparer.cs: Restyle, change lineendings
464 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
466 * CaseInsensitiveHashCodeProvider.cs
467 * CaseInsensitiveComparer.cs: Change lineendings
468 * CaseInsensitiveComparer.cs: Restyle
470 2004-05-01 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
472 * BitArray.cs: Fix parameter names
473 * CaseInsensitiveHashCodeProvider.cs: Fix signature
474 * DictionaryEntry.cs: Fix parameter names
475 * Hashtable.cs: Fix signatures
476 * SortedList.cs: Fix signatures
478 2004-04-25 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
480 * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
481 set CurrentCulture, Add null check to other constructor, Call correct function
482 for invariant case, ensure culture is set to null for invariant case, removed
483 static constructor, made invariant version available as internal in .Net 1.0
485 2004-04-21 Lluis Sanchez Gual <lluis@ximian.com>
487 * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
488 Char.ToLower(c,culture), since it does not accept null as culture.
490 2004-04-20 Lluis Sanchez Gual <lluis@ximian.com>
492 * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
493 interoperability). I also had to make some changes in the implementation:
494 I added a field _tail that points at the first free position in the array, and
495 changed the type of growFactor, which is now an int (its value is the old
498 2004-04-19 Lluis Sanchez Gual <lluis@ximian.com>
500 * Comparer.cs: Made constructor public.
502 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
504 * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
505 thread, not the one of the thread that created the instance.
506 * Comparer.cs: Added DefaultInvariant property and missing constructor.
507 Use the specified culture info to compare strings.
509 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
511 * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
512 Implemented property DefaultInvariant.
514 2004-03-29 Lluis Sanchez Gual <lluis@ximian.com>
516 * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
517 (to allow serialization interoperability).
519 2004-03-18 David Sheldon <dave-mono@earth.li>
521 * Hashtable.cs: Serialise/Deserialise to two arrays of
522 keys/values. This will match what MS.NET appears to be
525 2004-02-12 Jackson Harper <jackson@ximian.com>
527 * SortedList.cs: Only .et 1.0 sets the capacity to a min of
530 2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
532 * Hashtable.cs: Added serialization support to SynchedHashtable. This
535 2004-01-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
537 * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
540 2003-12-26 Ben Maurer <bmaurer@users.sourceforge.net>
542 * ArrayList.cs: Add class `SimpleEnumerator' this handles the
543 .GetEnumerator We are able to remove fields by doing this, the
544 sizeof the simple version is 75% of that of the complex one, so we
545 get a pretty nice saving.
547 2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
549 * ArrayList.cs: Renamed private fields m_Count, m_Data and
550 m_StateChanges to _size, _items and _version, to make it compatible with
551 MS.NET (needed for remoting interoperability). This fixes bug #52438.
553 2003-12-01 Dick Porter <dick@ximian.com>
555 * CaseInsensitiveComparer.cs: Construct the default comparers when
556 they're needed, to avoid a dependency loop with CultureInfo's
559 2003-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
561 * Queue.cs: patch from Carlos Barcenilla.
563 - method: ICollection.Clone()
564 - Optimized. Removed unneeded instructions.
565 - method: public static Queue Synchronized (Queue queue)
566 - ArgumentNullException.ParamName must be "queue", not null.
567 - method: public virtual void TrimToSize()
568 - Must increment modCount.
570 private class SyncQueue
571 - method: public override object Clone ()
572 - Must return a synchronized (SyncStack) instance.
573 - method: public override void TrimToSize ()
576 2003-11-13 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
578 * IEnumerator.cs: Added missing attribute
580 2003-11-12 Miguel de Icaza <miguel@ximian.com>
582 * CaseInsensitiveComparer.cs: Add missing method.
584 2003-11-10 Zoltan Varga <vargaz@freemail.hu>
586 * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
589 2003-11-03 Lluis Sanchez Gual <lluis@ximian.com>
591 * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
593 2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
595 * System.Collections/Hashtable.cs: patch from Carlos A.
596 Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
597 Hashtable + NUnit2 tests.
599 2003-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
601 * Queue.cs: nullify the array in Clear.
603 2003-09-26 Zoltan Varga <vargaz@freemail.hu>
605 * Hashtable.cs: Remove empty static constructor since it prevents this
606 class from being beforefieldinit.
608 2003-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
610 * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
612 2003-08-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
614 * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
617 2003-08-20 Duncan Mak <duncan@ximian.com>
619 * Hashtable.cs (PutImpl): Fix my previous checkin, see details
620 posted on bug #47692.
622 I really hope I don't mess up this time, because, if I do again,
623 it will be really embarrassing.
625 2003-08-17 Duncan Mak <duncan@ximian.com>
627 * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
628 Currently Hashtable.PutImpl has an incorrect test which causes the
629 key chain search to terminate as soon as a free slot is found,
630 causing key duplication.
632 This fixes bug #47692.
634 2003-08-11 Duncan Mak <duncan@ximian.com>
636 * DictionaryBase.cs: Applied patch from Carlos Barcenilla
637 (barce@frlp.utn.edu.ar).
639 (Idictionary.Add): Added OnValidate, and undo the transaction if
640 OnInsertCompleteFails.
642 (Indexer set): MS Implementation does not call OnInsert and undoes
643 if OnSetComplete throws an exception
644 (Indexer get): return value is obtained after calling OnGet.
646 (IDictionary.Remove): Call to OnValidate added. If key does not
647 exists calls OnValidate, OnRemove and OnRemoveComplete.
649 (protected IDictionary Dictionary get): Should return itself, not
652 This fixes bug #47460.
654 2003-08-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
656 * CollectionBase.cs: applied patch from Carlos Barcenilla
657 (barce@frlp.utn.edu.ar).
659 2003-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
661 * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
662 * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
663 (barce@frlp.utn.edu.ar). Most of the patch is also his.
665 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
667 * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
669 2003-07-29 Miguel de Icaza <miguel@ximian.com>
671 * ArrayList.cs: Deployed ArrayList from Tum; Fixed iterator to
672 allow nulls, and inline a few calls to make profiling more useful.
674 2003-07-24 Miguel de Icaza <miguel@ximian.com>
676 * ArrayList.cs: Removed MonoTODO.
678 2003-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
680 * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
681 Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
683 2003-06-27 Duncan Mak <duncan@ximian.com>
685 * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
686 returning DictionaryEntrys, instead of just the Key of the table.
688 2003-06-26 Lluis Sanchez Gual <lluis@ximian.com>
690 * Hashtable.cs: Fixed bug when serializing and deserializing
691 a hashtable from which one element has been deleted. The Object instance
692 used as a removed marker is not detected as a such, since the
693 serializer creates a different instace.
695 2003-06-13 Herve Poussineau <hpoussineau@fr.st>
697 * SortedList.cs: Can enumerate on DictionaryEntries, not only on
698 keys on values. Enumerate by default on DictionaryEntries.
700 2003-06-12 Duncan Mak <duncan@ximian.com>
702 * Hashtable.cs (constructor):
703 if loadFactor equals Single.NaN, then throw an
704 ArgumentOutOfRangeException.
706 if we set capacity to be too big (ie. capacity / loadFactor is
707 greater than Int32.MaxValue), then we throw an ArgumentException.
709 2003-06-11 Duncan Mak <duncan@ximian.com>
711 * SortedList.cs: Oi! What a mess.
713 If the list was constructed using the null-param constructor, and
714 it tries to set it to a size lower than the default, let it do so.
716 If the list was constructed with a specific size, and it tries to
717 set it to a size lower than the specified size, set it to the
720 (IndexOfValue): Clean up the code somewhat, make it allow for
723 2003-06-08 Ben Maurer <bmaurer@users.sourceforge.net>
724 * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
727 2003-06-07 Ben Maurer <bmaurer@users.sourceforge.net>
728 * Stack.cs: Contains (null) works correctly. We never have the
729 array sized less than 16, so that the doubling logic works no
730 matter what. The enumerator is IClonable, like in ms. The
731 Enumerator correctly throws an exception if Current is called
732 before the enumerator is started. We now pass all the Rotor tests
735 2003-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
737 * Stack.cs: fixed Clone ().
739 2003-06-04 Ben Maurer <bmaurer@users.sourceforge.net>
740 * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
743 2003-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
745 * ArrayList.cs: nullify the array in Clear ().
746 * Queue.cs: nullify the array in Dequeue ().
747 * Stack.cs: nullify the array in Pop ().
749 2003-06-02 Ben Maurer <bmaurer@users.sourceforge.net>
750 * Queue.cs: Added argument checking in constructors according to
751 specs. Also changed default size to 32 as required by the specs.
753 2003-05-31 Ben Maurer <bmaurer@users.sourceforge.net>
754 * BitArray.cs: Rewrote, as it was failing most of the Rotor
755 tests. It now passes them 100%. Also fixes bug #43667.
757 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
759 Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
761 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
763 Added methods to support IList wrappers
765 2003-04-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
767 * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
768 that fixes bug #41684.
770 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
772 * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
773 like MS.NET) and implemented the
774 CaseInsensitiveComparerTest(culture) constructor.
776 2003-03-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
778 * Queue.cs: fixed bug #39046.
780 2003-02-15 Pedro Martnez Juli <yoros@wanadoo.es>
782 * Hashtable.cs: Make hashtable serializable (at least with binary
783 formatter). This process was started by the Hashtable maintainer.
785 2003-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
787 * ArrayList.cs: fixed setSize (!).
789 2003-01-31 Zoltan Varga <vargaz@freemail.hu>
791 * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
792 here, since RemoveAt raises a different exception than RemoveRange
793 when the index is out-of-range. Fixes the ArrayList unit tests.
795 * ArrayList.cs (RemoveRange): fixed indentation.
797 2003-01-12 Varga Zoltan <vargaz@freemail.hu>
799 * ArrayList.cs (RemoveRange): Patch for allowing zero-size
800 removal at the end of a list. It also cleans up the argument
801 checking code so the raised exceptions have the same message as
804 2003-01-10 Duncan Mak <duncan@ximian.com>
806 * ArrayList.cs (Insert): Patch from Zoltan
807 (Zoltan.2.Varga@nokia.com).
809 2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
811 * Hashtable.cs: add the key to the error message when
814 2002-10-15 Vladimir Vukicevic <vladimir@pobox.com>
816 * Queue.cs: update new capacity in grow(), preventing queue from
817 constantly looping over old elements in Dequeue(). Also use
818 capacity instead of contents.Length in Enqueue().
820 2002-09-24 Nick Drochak <ndrochak@gol.com>
822 * ArrayList.cs: Make enumerator throw exception if the ArrayList is
823 mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
824 this was passed as parameter.
826 2002-08-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
828 * ArrayList.cs: fixed bug #29658.
830 2002-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
834 * CaseInsensitiveComparer.cs:
835 * CaseInsensitiveHashCodeProvider.cs:
837 * Queue.cs: misc. fixes based on class status page.
839 2002-07-22 Tim Coleman <tim@timcoleman.com>
840 * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
841 which was breaking System.Web build on linux
843 2002-07-05 Sergey Chaban <serge@wildwestsoftware.com>
845 * SortedList.cs: Implemented thread-safe wrapper. Changed some
848 2002-07-02 Nick Drochak <ndrochak@gol.com>
850 * SortedList.cs: Constructors should use the capacity given regardless
851 how small. After a Clear() the Capacit should be 16. Since a Dictionary
852 might be used in the constructor, make sure we trap exceptions thrown
853 by the Comparer, like in Add().
855 2002-06-30 Nick Drochak <ndrochak@gol.com>
857 * SortedList.cs: Many fixed. A lot of checking for null and throwing
858 exceptions. A few logic bugs fixed as well
860 2002-06-25 Nick Drochak <ndrochak@gol.com>
862 * Queue.cs (CopyTo): Fix logic for copying the circular array.
863 (Enqueue): Use actual length of array to determine when to grow
864 (QueueEnumerator) Fixed Current to use array length, not capacity, and
865 fixed off-by-one errror in MoveNext().
867 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
869 * ArrayList.cs: fixed RemoveAt() implementation.
871 2002-05-27 Nick Drochak <ndrochak@gol.com>
873 * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
874 fix check of parameters sent to make sure we don't search beyond the
875 beginning of the list.
876 (ListWrapper): Throw exception if called with null.
877 We now pass all unit tests.
879 2002-05-23 Duncan Mak <duncan@ximian.com>
881 * ArrayList.cs (Wrapper): Preliminary implementation of
882 ArrayList.Wrapper (IList).
884 2002-05-22 Martin Baulig <martin@gnome.org>
886 * ArrayList.cs: Made count, capacity and dataArray the first three
887 fields in the class. They're read by the reflection library.
889 2002-05-21 Lawrence Pit <loz@cable.a2000.nl>
891 * ArrayList.cs: Fixed bug where a capacity of 0 could be reached,
892 thereby causing problems when trying to add elements.
894 2002-05-06 Duncan Mak <duncan@ximian.com>
896 * Queue.cs (TrimToSize): Implemented.
898 2002-05-05 Nick Drochak <ndrochak@gol.com>
900 * ArrayList.cs: Throw RankException when constructing from a
901 multi-dimensional array. Confirmed behavior from MS.NET
903 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
905 * ArrayList.cs: make mcs compile again: it's allowed to
906 call arraylist.CopyTo(array, 0) when the length of the array
909 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
911 * SortedList.cs: fix RemoveAt () to use the correct length in
914 2002-05-01 Nick Drochak <ndrochak@gol.com>
916 * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
918 2002/05/01 Nick Drochak <ndrochak@gol.com>
920 * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
923 2002/04/30 Nick Drochak <ndrochak@gol.com>
925 * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
926 (InsertRange) : Implement.
927 (SetRange) : Implement.
929 2002-04-30 Nick Drochak <ndrochak@gol.com>
931 * ArrayList.cs (TrimToSize) : Implement.
933 2002-04-28 Duncan Mak <duncan@ximian.com>
935 * ArrayList.cs (InsertRange):
938 (TrimToSize): Throw exceptions where needed.
940 2002-04-29 Nick Drochak <ndrochak@gol.com>
942 * Hashtable.cs (CopyTo): Throw exceptions where needed.
944 2002-04-28 Duncan Mak <duncan@ximian.com>
946 * ArrayList.cs (ReadOnly):
947 (IList.ReadOnly): Implemented.
950 (IList.Synchronized): Implemented.
953 (IList.FixedSize): Implemented.
955 2002-03-24 Duncan Mak <duncan@ximian.com>
957 * SortedList.cs (Synchronized): Stubbed out a missing method
958 pointed out by Jakk Simm's test suite.
960 2002-03-14 Nick Drochak <ndrochak@gol.com>
962 * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
963 other FixedSize() methods returns an IList.
965 2002-03-13 Duncan Mak <duncan@ximian.com>
967 * ArrayList.cs (FixedSize): Changed the return type to IList if
968 the argument is an IList.
969 (Synchronized): Ditto here.
971 2002-03-08 Sergey Chaban <serge@wildwestsoftware.com>
973 * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
974 Removed unused code from static constructor.
975 GetObjectData () - Version is the same as modificationCount.
977 2002-02-20 Nick Drochak <ndrochak@gol.com>
979 * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
980 by Bucky's tests. Implement a couple of things that were left undone.
982 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
984 * ArrayList.cs: Dick's fix to contructor.
986 2002-02-07 Duncan Mak <duncan@ximian.com>
988 * Hashtable.cs: Implemented parts of the ISerializable
989 interface. GetObjectData () is good, but serialization constructor
990 needs some more love.
992 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
994 * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
996 2002-01-04 Ravi Pratap <ravi@ximian.com>
998 * Correct name to MonoTODO everywhere.
1000 2002-01-04 Ravi Pratap <ravi@ximian.com>
1002 * ArrayList.cs : Setting an index does not implicitly
1003 extend the arraylist : remove FIXME.
1005 Decorate incomplete elements with the TODO attribute.
1007 * BitArray.cs : Insert TODO attributes where appropriate.
1009 * CaseInsensitiveHashcodeProvider.cs: Ditto.
1011 * Hashtable.cs, SortedList.cs : Ditto.
1013 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
1015 * ArrayList.cs: implemented AddRange(), CopyTo().
1017 2001-11-19 Miguel de Icaza <miguel@ximian.com>
1019 * DictionaryBase.cs: Implemented.
1021 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
1023 * ArrayList.cs: implement ArrayListEnumerator.
1024 * Hashtable.cs: hardcode the prime number table.
1026 2001-11-06 Nick Drochak <ndrochak@gol.com>
1027 * Queue.cs: Fixes from Ricardardo. QueueTest also updated.
1029 2001-11-04 Nick Drochak <ndrochak@gol.com>
1030 * Queue.cs: Fixed small syntax errors that were preventing the compile.
1031 I changed the build file to include Queue.cs as well.
1033 2001-11-04 Nick Drochak <ndrochak@gol.com>
1034 * ArrayList.cs: Fixed "off by one" error when shifting left the array when
1037 * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
1038 hook methods to the RemoveAt() method.
1040 2001-11-04 Nick Drochak <ndrochak@gol.com>
1041 * ArrayList.cs: Added private enumerator class and make GetEnumerator()
1042 methods return an instance of it.
1044 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
1046 * ArrayList.cs: fix Insert () to check capacity, not count.
1048 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
1050 * DictionaryEntry.cs: added.
1052 2001-08-10 Dietmar Maurer <dietmar@ximian.com>
1054 * common.src: removed duplicate entries
1056 2001-08-08 Nick Drochak <ndrochak@gol.com>
1058 * ReadOnlyCollectionBase.cs: Initialized private member.
1059 * CollectionBase.cs: Initialized private member.
1060 * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
1061 * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
1062 * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
1064 2001-08-08 Nick Drochak <nick@jobdragon.com>
1066 * CollectionBase.cs: Add
1067 * ReadOnlyCollectionBase.cs: Add
1068 * CollectionBaseTest.cs: Add
1069 * ReadOnlyCollectionBaseTest.cs: Add
1071 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
1073 * StackTest.cs: Add Test case for System.Collections.Stack.
1074 Contributed by Chris Hynes <chrish@assistedsolutions.com>
1076 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
1078 * Stack.cs: Clone() doesn't need to check if it's synchronized, since
1079 we override it in SyncStack anyway...
1081 * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to
1082 avoid using massive amounts of memory that are not necessary. We only
1083 drop to half the current size, which I hope will avoid the 'ping-pong'
1086 * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly
1087 instead of just returning false, since we may have a ReadOnly wrapper
1088 in the future (although i can't imagine why). Thanks to David
1089 Menestrina <dmenest@yahoo.com> for pointing this out.
1091 2001-07-23 Sergey Chaban <serge@wildwestsoftware.com>
1093 * Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
1094 From now, Clear() increases modification count.
1095 Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
1096 instead of hcp.GetHashCode(key). This was resulted in the
1097 insanely long lookup times when HashCodeProvider was used to
1098 construct Hashtable. Added thread-safe wrapper.
1100 2001-07-16 David Menestrina <dmenest@yahoo.com>
1103 * BitArrayTest.cs: Add
1105 2001-07-18 Miguel de Icaza <miguel@ximian.com>
1107 * IDictionary.cs (Collections): IDictionary implements ICollection
1108 as well. Thanks Sergey!
1110 2001-07-18 Garrett Rooney <rooneg@electricjellyfish.net>
1112 * Stack.cs Removed unnecessary locking from many methods of
1113 SyncStack, removed SyncEnumerator because it was unnecessary,
1114 added a modCount member to Stack and Stack.Enumerator, to
1115 ensure that the Stack has not been modified out form under the
1116 Enumerator, and changed the Enumerator to use a reference to the
1117 stack rather than copying over the contents array.
1119 2001-07-17 David Menestrina <dmenest@yahoo.com>
1121 * Added implementation of BitArray.
1123 2001-07-17 Miguel de Icaza <miguel@ximian.com>
1125 * Hashtable.cs: Removed call to d.Count in the Hashtable
1126 constructor that takes an IDictionary as IDictionary does not
1127 provide a Count field.
1129 2001-07-15 Sean MacIsaac <macisaac@ximian.com>
1131 * IDictionary.cs: Clear was clear.
1133 2001-07-13 Miguel de Icaza <miguel@ximian.com>
1135 * All files: Renamespace things to System.
1137 2001-07-05 Vladimir Vukicevic <vladimir@ximian.com>
1139 * ArrayList.cs: initial checkin and implementation
1141 * ICollection.cs, IComprarer.cs, IDictionary.cs,
1142 IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
1143 IList.cs: initial checkin