another set of cosmetic 2.0 API fixes.
[mono.git] / mcs / class / corlib / System.Collections / ChangeLog
1 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * ReadOnlyCollectionBase.cs CollectionBase.cs :
4           cosmetic 2.0 API fixes.
5
6 2007-07-19  Juraj Skripsky  <js@hotfeet.ch>
7
8         * ArrayList.cs (ArrayList.Adapter): If the given list already is an
9         ArrayList, just return it directly.
10
11 2007-07-05  Gert Driesen  <drieseng@users.sourceforge.net>
12
13         * CaseInsensitiveHashCodeProvider.cs: Lazy init Default instance and
14         reconstruct it if CurrentCulture changes.
15
16 2007-07-05  Gert Driesen  <drieseng@users.sourceforge.net>
17
18         * CaseInsensitiveHashCodeProvider.cs: In default ctor, do not save
19         TextInfo if current culture is invariant. Remoted private ctor.
20         In Default, always construct new instance since the current culture
21         may change.
22
23 2007-06-08  Ankit Jain  <jankit@novell.com>
24
25         * ArrayList.cs (Shift): Clear the unused part of the array when
26         removing elements.
27
28 2006-12-29  Marek Safar  <marek.safar@gmail.com>
29
30         * BitArray.cs: Performance improvements.
31
32 2006-11-16  Miguel de Icaza  <miguel@novell.com>
33
34         * Hashtable.cs: Serialize EqualityComparer.
35
36 2006-08-16  Miguel de Icaza  <miguel@novell.com>
37
38         * Hashtable.cs (PutImpl): Do not access the table twice, only
39         once. 
40         
41         (TestPrime): optimize, take the sqrt out of the loop.
42
43 2006-08-08  Duncan Mak  <duncan@novell.com>
44
45         * ReadOnlyCollectionBase.cs (Count): Mark as virtual in
46         NET_2_0. Fixes #79033.
47
48 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
49
50         * Comparer.cs : changed internal field from CultureInfo to
51           CompareInfo. This cosmetic change should fix bug #77701.
52
53 2006-03-28  Marek Safar  <marek.safar@seznam.cz>
54
55         * Stack.cs: Changed ctor to allocate only requested memory.
56
57 Tue Feb 28 14:16:25 CET 2006 Paolo Molaro <lupus@ximian.com>
58
59         * BitArray.cs: reintroduce optimization carelessly removed by
60         Robitaille.
61
62 2006-02-03  Sebastien Robitaille <sebastien.robitaille@croesus.com>
63
64         * BitArray.cs: Renamed members for interoperability with MS. 
65
66 Tue Jan 24 18:24:00 CET 2006 Paolo Molaro <lupus@ximian.com>
67
68         * BitArray.cs: optimize bit access by removing expensive
69         div/rem ops.
70
71 2006-01-04  Sebastien Pouliot  <sebastien@ximian.com>
72
73         * Hashtable.cs: Mark all inner classes as [Serializable] to match MS
74         behaviour. Fix bug #76300.
75
76 2005-12-19  Sebastien Pouliot  <sebastien@ximian.com>
77
78         * ArrayList.cs: Fix default capacity under 2.0 (and unit tests under 
79         MS 2.0).
80
81 2005-12-07  Sebastien Pouliot  <sebastien@ximian.com>
82
83         * SortedList.cs: Removed check for IComparable in ctor (fixed bug 
84         #76750). Removed unused private method. Added more useful info (the 
85         duplicate key) to an exception.
86
87 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
88
89         * CaseInsensitiveHashCodeProvider: Serialization is now compatible 
90         with MS. Removes the last TODO for 1.1 in this namespace :-)
91
92 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
93
94         * Comparer.cs: Added GetObjectData method to implement ISerializable.
95
96 2005-09-29  Miguel de Icaza  <miguel@novell.com>
97
98         * Add ComVisible(true) to all the classes that needed it.
99
100         * Removed documentation from DictionaryBase.cs and moved it to
101         Monodoc. 
102
103         * ArrayList.cs: Fixed signature for constructor, parameter names
104         are normative.
105
106         * CollectionBase.cs: Add a couple of missing methods. 
107
108 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
109
110         * Hashtable.cs : SyncHashtable.GetEnumerator() returned keys instead
111           of entries (DictionaryEntry). Fixed bug #75790.
112
113 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
114
115         * SortedList.cs : Even though the key/value pair being set are
116           identical to the existing one, it causes snapshot out of sync.
117           Fixed bug #59694.
118
119 2005-07-21  Lluis Sanchez Gual  <lluis@novell.com>
120
121         * CollectionBase.cs: Lazily create the inner list. MS.NET does
122         it and we need to do the same for the sake of serialization
123         interoperability. Fixes bug #75575. 
124
125 2005-07-17  Florian Gross  <flgr@ccan.de>
126
127         * ArrayList.cs: pass along index offset in RangedArrayList:ToArray.
128         Fixes bug #75545
129
130 2005-06-23  Ben Maurer  <bmaurer@ximian.com>
131
132         * Queue.cs: Use the enumerator rather than copy to in the
133         ctor. This makes us more compat with msft, for example, when
134         passing a bit array
135
136         * Stack.cs: ditto
137
138 2005-06-23  Martin Baulig  <martin@ximian.com>
139
140         * IKeyComparer.cs: Removed.
141
142 2005-06-12  David Waite  <dwaite@gmail.com>
143
144         * Hashtable.cs: make prime-related functions internal so generic
145         Dictionary can use them.
146         * IEqualityComparer.cs: add non-generic IEqualityComparer interface
147
148 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
149
150         * Hashtable.cs: Add some missing 2.0 attributes.
151
152 2005-05-26  Ben Maurer  <bmaurer@ximian.com>
153
154         * Queue.cs (grow): fix 61919.
155
156 2005-05-09  Atsushi Enomoto  <atsushi@ximian.com>
157
158         * Stack.cs : empty_stack.CopyTo(empty_array, 0) should be allowed.
159
160 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
161
162         * Hashtable.cs: Add net 2.0 ReliabilityContractAttributes.
163
164 2005-02-19  Kazuki Oikawa  <kazuki@panicode.com>
165
166         * SortedList.cs, Stack.cs: Reverse the order in the Equals calls.
167
168 2004-12-21  Ben Maurer  <bmaurer@ximian.com>
169
170         * Hashtable.cs (get_Item): duplicate Find here, as we can
171         specialize a few things. This gives me 7% back.
172         (Find) Use break rather than return -1. Saves a bit of code.
173         
174         * Hashtable.cs (GetHash): Avoid a method call. Also, don't store
175         the this.hcpRef in a variable. This will create another register
176         which must be pushed on the stack. It is better to just reference
177         the variable again. hcpRef.GetHashCode (key) is the slow path
178         anyways, so an extra variable reference here doesn't hurt
179         (KeyEquals): ditto.
180
181         This gives me a few % back in a raw benchmark.
182
183 2004-12-20  Ben Maurer  <bmaurer@ximian.com>
184
185         * Hashtable.cs (Find): Some minor optimizations here.
186         
187         * Hashtable.cs: Remove GetImpl and inline it.
188
189         * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
190         == key (ie, they are the same pointer). In many cases, this will
191         avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
192
193         * Hashtable.cs (Find): Make `i' a uint rather than an int. This
194         avoids having a long compare.
195
196 2004-12-16  Lluis Sanchez Gual  <lluis@novell.com>
197
198         * Hashtable.cs: Check for null serialization info in OnDeserialization.
199         A hashtable subclass can fully override the constructor, so
200         serializationInfo would be null in this case. Fixes bug #70698.
201
202 2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
203
204         * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
205
206 2004-12-16  Lluis Sanchez Gual  <lluis@novell.com>
207
208         * Hashtable.cs: Add deserialized elements in OnDeserialization, since
209         when the serialization constructor is called, some of the elements
210         may not yet be fully deserialized. This fixes bug #70570.
211
212 2004-10-08  Raja R Harinath  <rharinath@novell.com>
213
214         * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
215         is not invariant, avoid an icall on every character.
216
217 2004-07-21  Geoff Norton <gnorton@customerdna.com>
218
219         * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
220           a snapshot out of sync error.
221
222 2004-07-21  Duncan Mak  <duncan@ximian.com>
223
224         * DictionaryBase.cs: Rename the dictionary field to hashtable,
225         which causes a serialization interop bug. Fixes bug #61721.
226
227 2004-06-18  Ben Maurer <bmaurer@ximian.com>
228
229         * IKeyComparer.cs: v2 class
230
231 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
232
233         * CaseInsensitiveComparer.cs: added TODO for serialization
234         * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
235         * SortedList.cs: added TODO for serialization
236         * Stack.cs: added TODO for serialization
237
238 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
239
240         * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
241
242 2004-06-14  Lluis Sanchez Gual  <lluis@ximian.com>
243
244         * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
245
246 2004-06-08  Lluis Sanchez Gual  <lluis@ximian.com>
247
248         * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization 
249           compatible with MS.NET.
250
251 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
252
253         * SortedList.cs: Fixed case where the initial capacity was set to 0.
254
255 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
256
257         * Hashtable.cs: Added ArgumentNullException in GetObjectData.
258
259 2004-05-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
260
261         * ChangeLog:
262         * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
263         I wonder why.
264
265 2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
266
267        * Compare.cs: ISerializable should only be implemented
268        for NET_1_1 profile
269
270 2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
271
272        * Compare.cs: Implemented ISerializable, fixes public API
273
274 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
275
276         * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
277         * Queue.cs: Fixed case where we could still get Current after the last 
278         MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
279         * SortedList.cs: Added missing ICloneable support to internal 
280         enumerator. Added Capacity to the synchronized version of SortedList.
281         Setting Capacity to 0 returns it to it's default value (16).
282
283 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
284
285         * ArrayList.cs: Fixed possible integer overflows.
286
287 2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>
288
289         * Hashtable.cs: Renamed internal class to make serialization compatible
290           with MS.NET.
291
292 2004-05-10  Gert Driesen (drieseng@users.sourceforge.net)
293         * Hashtable.cs: marked EnumeratorMode private
294         * SortedList.cs: marked EnumeratorMode private
295
296 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
297
298         * Comparer.cs: ensure culture is set to null , removed
299           static constructor, removed unneccesary checks
300
301 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
302
303         * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
304           set CurrentCulture, ensure culture is set to null for invariant case,
305           construct early
306         * Comparer.cs: Restyle, change lineendings
307
308 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
309
310         * CaseInsensitiveHashCodeProvider.cs
311         * CaseInsensitiveComparer.cs: Change lineendings
312         * CaseInsensitiveComparer.cs: Restyle
313
314 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
315
316         * BitArray.cs: Fix parameter names
317         * CaseInsensitiveHashCodeProvider.cs: Fix signature
318         * DictionaryEntry.cs: Fix parameter names
319         * Hashtable.cs: Fix signatures
320         * SortedList.cs: Fix signatures
321
322 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
323
324         * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
325           set CurrentCulture, Add null check to other constructor, Call correct function
326           for invariant case, ensure culture is set to null for invariant case, removed
327           static constructor, made invariant version available as internal in .Net 1.0
328
329 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
330
331         * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
332           Char.ToLower(c,culture), since it does not accept null as culture.
333
334 2004-04-20  Lluis Sanchez Gual  <lluis@ximian.com>
335
336         * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
337         interoperability). I also had to make some changes in the implementation:
338         I added a field _tail that points at the first free position in the array, and
339         changed the type of growFactor, which is now an int (its value is the old
340         growFactor * 100).
341
342 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
343
344         * Comparer.cs: Made constructor public.
345
346 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
347
348         * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
349         thread, not the one of the thread that created the instance.
350         * Comparer.cs: Added DefaultInvariant property and missing constructor.
351         Use the specified culture info to compare strings.
352
353 2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>
354
355         * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
356           Implemented property DefaultInvariant.
357
358 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
359
360         * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
361           (to allow serialization interoperability).
362
363 2004-03-18  David Sheldon <dave-mono@earth.li>
364
365   * Hashtable.cs: Serialise/Deserialise to two arrays of 
366    keys/values. This will match what MS.NET appears to be
367    doing.
368
369 2004-02-12  Jackson Harper  <jackson@ximian.com>
370
371         * SortedList.cs: Only .et 1.0 sets the capacity to a min of
372         initial size.
373         
374 2004-01-13  Lluis Sanchez Gual <lluis@ximian.com>
375
376         * Hashtable.cs: Added serialization support to SynchedHashtable. This
377         fixes bug #52741.
378
379 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
380
381         * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
382         (pcgod@gmx.net).
383
384 2003-12-26 Ben Maurer  <bmaurer@users.sourceforge.net>
385
386         * ArrayList.cs: Add class `SimpleEnumerator' this handles the
387         .GetEnumerator We are able to remove fields by doing this, the
388         sizeof the simple version is 75% of that of the complex one, so we
389         get a pretty nice saving.
390
391 2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>
392
393         * ArrayList.cs: Renamed private fields m_Count, m_Data and
394         m_StateChanges to _size, _items and _version, to make it compatible with
395         MS.NET (needed for remoting interoperability). This fixes bug #52438.
396
397 2003-12-01  Dick Porter  <dick@ximian.com>
398
399         * CaseInsensitiveComparer.cs: Construct the default comparers when
400         they're needed, to avoid a dependency loop with CultureInfo's
401         constructor.
402
403 2003-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
404
405         * Queue.cs: patch from Carlos Barcenilla.
406         public class Queue
407                 - method: ICollection.Clone()
408                 - Optimized. Removed unneeded instructions.
409                 - method: public static Queue Synchronized (Queue queue)
410                 - ArgumentNullException.ParamName must be "queue", not null.
411                 - method: public virtual void TrimToSize()
412                 - Must increment modCount.
413
414         private class SyncQueue
415                 - method: public override object Clone ()
416                 - Must return a synchronized (SyncStack) instance.
417                 - method: public override void TrimToSize ()
418                 - Not implemented.
419
420 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
421
422         * IEnumerator.cs: Added missing attribute
423
424 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
425
426         * CaseInsensitiveComparer.cs: Add missing method.
427
428 2003-11-10  Zoltan Varga  <vargaz@freemail.hu>
429
430         * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
431         bugs (#50755).
432
433 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
434
435         * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
436
437 2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
438
439         * System.Collections/Hashtable.cs: patch from Carlos A.
440         Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
441         Hashtable + NUnit2 tests.
442
443 2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
444
445         * Queue.cs: nullify the array in Clear.
446
447 2003-09-26  Zoltan Varga  <vargaz@freemail.hu>
448
449         * Hashtable.cs: Remove empty static constructor since it prevents this
450         class from being beforefieldinit.
451
452 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
453
454         * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
455
456 2003-08-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
457
458         * Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
459         bug #47789.
460
461 2003-08-20  Duncan Mak  <duncan@ximian.com>
462
463         * Hashtable.cs (PutImpl): Fix my previous checkin, see details
464         posted on bug #47692.
465
466         I really hope I don't mess up this time, because, if I do again,
467         it will be really embarrassing.
468
469 2003-08-17  Duncan Mak  <duncan@ximian.com>
470
471         * Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
472         Currently Hashtable.PutImpl has an incorrect test which causes the
473         key chain search to terminate as soon as a free slot is found,
474         causing key duplication.
475
476         This fixes bug #47692.
477
478 2003-08-11  Duncan Mak  <duncan@ximian.com>
479
480         * DictionaryBase.cs: Applied patch from Carlos Barcenilla
481         (barce@frlp.utn.edu.ar).
482         
483         (Idictionary.Add): Added OnValidate, and undo the transaction if
484         OnInsertCompleteFails.
485
486         (Indexer set): MS Implementation does not call OnInsert and undoes
487         if OnSetComplete throws an exception
488         (Indexer get): return value is obtained after calling OnGet.
489
490         (IDictionary.Remove): Call to OnValidate added. If key does not
491         exists calls OnValidate, OnRemove and OnRemoveComplete.
492
493         (protected IDictionary Dictionary get): Should return itself, not
494         the inner hashtable.
495
496         This fixes bug #47460.
497
498 2003-08-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
499
500         * CollectionBase.cs: applied patch from Carlos Barcenilla
501         (barce@frlp.utn.edu.ar).
502
503 2003-08-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
504
505         * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
506         * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
507         (barce@frlp.utn.edu.ar). Most of the patch is also his.
508
509 2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
510
511         * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
512
513 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
514
515         * ArrayList.cs: Deployed ArrayList from Tum;  Fixed iterator to
516         allow nulls, and inline a few calls to make profiling more useful.
517
518 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
519
520         * ArrayList.cs: Removed MonoTODO.
521
522 2003-07-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
523
524         * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
525         Thanks to JoergR@voelcker.com (Joerg Rosenkranz).
526
527 2003-06-27  Duncan Mak  <duncan@ximian.com>
528
529         * Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
530         returning DictionaryEntrys, instead of just the Key of the table.
531
532 2003-06-26  Lluis Sanchez Gual  <lluis@ximian.com>
533
534         * Hashtable.cs: Fixed bug when serializing and deserializing
535           a hashtable from which one element has been deleted. The Object instance
536           used as a removed marker is not detected as a such, since the
537           serializer creates a different instace.
538
539 2003-06-13  Herve Poussineau  <hpoussineau@fr.st>
540
541         * SortedList.cs: Can enumerate on DictionaryEntries, not only on
542         keys on values. Enumerate by default on DictionaryEntries.
543
544 2003-06-12  Duncan Mak  <duncan@ximian.com>
545
546         * Hashtable.cs (constructor):
547         if loadFactor equals Single.NaN, then throw an
548         ArgumentOutOfRangeException.
549
550         if we set capacity to be too big (ie. capacity / loadFactor is
551         greater than Int32.MaxValue), then we throw an ArgumentException.
552
553 2003-06-11  Duncan Mak  <duncan@ximian.com>
554
555         * SortedList.cs: Oi! What a mess.
556
557         If the list was constructed using the null-param constructor, and
558         it tries to set it to a size lower than the default, let it do so.
559
560         If the list was constructed with a specific size, and it tries to
561         set it to a size lower than the specified size, set it to the
562         default size.
563
564         (IndexOfValue): Clean up the code somewhat, make it allow for
565         values to be null.
566
567 2003-06-08  Ben Maurer <bmaurer@users.sourceforge.net>
568         * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
569         checking
570
571 2003-06-07  Ben Maurer <bmaurer@users.sourceforge.net>
572         * Stack.cs: Contains (null) works correctly. We never have the
573         array sized less than 16, so that the doubling logic works no
574         matter what. The enumerator is IClonable, like in ms. The
575         Enumerator correctly throws an exception if Current is called
576         before the enumerator is started. We now pass all the Rotor tests
577         for this file!
578
579 2003-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
580
581         * Stack.cs: fixed Clone ().
582
583 2003-06-04  Ben Maurer <bmaurer@users.sourceforge.net>
584         * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
585         failures
586
587 2003-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
588
589         * ArrayList.cs: nullify the array in Clear ().
590         * Queue.cs: nullify the array in Dequeue ().
591         * Stack.cs: nullify the array in Pop ().
592
593 2003-06-02  Ben Maurer <bmaurer@users.sourceforge.net>
594         * Queue.cs: Added argument checking in constructors according to
595         specs. Also changed default size to 32 as required by the specs.
596
597 2003-05-31  Ben Maurer <bmaurer@users.sourceforge.net>
598         * BitArray.cs: Rewrote, as it was failing most of the Rotor
599         tests. It now passes them 100%. Also fixes bug #43667.
600
601 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
602 * ArrayList.cs
603         Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
604
605 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
606 * ArrayList.cs
607         Added methods to support IList wrappers
608
609 2003-04-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
610
611         * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
612         that fixes bug #41684.
613
614 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
615
616         * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
617         like MS.NET) and implemented the
618         CaseInsensitiveComparerTest(culture) constructor.
619
620 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
621
622         * Queue.cs: fixed bug #39046.
623
624 2003-02-15  Pedro Martnez Juli  <yoros@wanadoo.es>
625
626         * Hashtable.cs: Make hashtable serializable (at least with binary
627         formatter). This process was started by the Hashtable maintainer.
628
629 2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
630
631         * ArrayList.cs: fixed setSize (!).
632
633 2003-01-31  Zoltan Varga  <vargaz@freemail.hu>
634
635         * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
636         here, since RemoveAt raises a different exception than RemoveRange
637         when the index is out-of-range. Fixes the ArrayList unit tests.
638
639         * ArrayList.cs (RemoveRange): fixed indentation.
640
641 2003-01-12  Varga Zoltan <vargaz@freemail.hu>
642
643         * ArrayList.cs (RemoveRange): Patch for allowing zero-size
644         removal at the end of a list. It also cleans up the argument
645         checking code so the raised exceptions have the same message as
646         under MS.NET.
647
648 2003-01-10  Duncan Mak  <duncan@ximian.com>
649
650         * ArrayList.cs (Insert): Patch from Zoltan
651         (Zoltan.2.Varga@nokia.com).
652
653 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
654
655         * Hashtable.cs: add the key to the error message when
656         'key duplication'.
657
658 2002-10-15  Vladimir Vukicevic  <vladimir@pobox.com>
659
660         * Queue.cs: update new capacity in grow(), preventing queue from
661         constantly looping over old elements in Dequeue(). Also use
662         capacity instead of contents.Length in Enqueue().
663
664 2002-09-24  Nick Drochak  <ndrochak@gol.com>
665
666         * ArrayList.cs: Make enumerator throw exception if the ArrayList is
667         mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
668         this was passed as parameter.
669
670 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
671
672         * ArrayList.cs: fixed bug #29658.
673
674 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
675
676         * ArrayList.cs:
677         * BitArray.cs:
678         * CaseInsensitiveComparer.cs:
679         * CaseInsensitiveHashCodeProvider.cs:
680         * IEnumerable.cs:
681         * Queue.cs: misc. fixes based on class status page.
682
683 2002-07-22  Tim Coleman  <tim@timcoleman.com>
684         * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
685                 which was breaking System.Web build on linux
686
687 2002-07-05  Sergey Chaban <serge@wildwestsoftware.com>
688
689         * SortedList.cs: Implemented thread-safe wrapper. Changed some
690         args to camelCase.
691
692 2002-07-02  Nick Drochak  <ndrochak@gol.com>
693
694         * SortedList.cs: Constructors should use the capacity given regardless 
695         how small. After a Clear() the Capacit should be 16. Since a Dictionary
696         might be used in the constructor, make sure we trap exceptions thrown
697         by the Comparer, like in Add().
698
699 2002-06-30  Nick Drochak  <ndrochak@gol.com>
700
701         * SortedList.cs: Many fixed. A lot of checking for null and throwing
702         exceptions.  A few logic bugs fixed as well
703
704 2002-06-25   Nick Drochak  <ndrochak@gol.com>
705
706         * Queue.cs (CopyTo): Fix logic for copying the circular array.
707         (Enqueue): Use actual length of array to determine when to grow
708         (QueueEnumerator) Fixed Current to use array length, not capacity, and
709         fixed off-by-one errror in MoveNext().
710
711 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
712
713         * ArrayList.cs: fixed RemoveAt() implementation.
714
715 2002-05-27  Nick Drochak  <ndrochak@gol.com>
716
717         * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
718         fix check of parameters sent to make sure we don't search beyond the
719         beginning of the list.
720         (ListWrapper): Throw exception if called with null.
721         We now pass all unit tests.
722
723 2002-05-23  Duncan Mak  <duncan@ximian.com>
724
725         * ArrayList.cs (Wrapper): Preliminary implementation of
726         ArrayList.Wrapper (IList).
727
728 2002-05-22  Martin Baulig  <martin@gnome.org>
729
730         * ArrayList.cs: Made count, capacity and dataArray the first three
731         fields in the class.  They're read by the reflection library.
732
733 2002-05-21  Lawrence Pit  <loz@cable.a2000.nl>
734
735         * ArrayList.cs: Fixed bug where a capacity of 0 could be reached, 
736         thereby causing problems when trying to add elements.
737
738 2002-05-06  Duncan Mak  <duncan@ximian.com>
739
740         * Queue.cs (TrimToSize): Implemented.
741         
742 2002-05-05  Nick Drochak  <ndrochak@gol.com>
743
744         * ArrayList.cs: Throw RankException when constructing from a 
745         multi-dimensional array. Confirmed behavior from MS.NET
746
747 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
748
749         * ArrayList.cs: make mcs compile again: it's allowed to
750         call arraylist.CopyTo(array, 0) when the length of the array
751         is also 0.
752
753 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
754
755         * SortedList.cs: fix RemoveAt () to use the correct length in
756         Array.Copy.
757
758 2002-05-01  Nick Drochak  <ndrochak@gol.com>
759
760         * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
761
762 2002/05/01  Nick Drochak <ndrochak@gol.com>
763
764         * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
765         where needed.
766
767 2002/04/30  Nick Drochak <ndrochak@gol.com>
768
769         * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
770                 (InsertRange) : Implement.
771                 (SetRange) : Implement.
772
773 2002-04-30  Nick Drochak  <ndrochak@gol.com>
774
775         * ArrayList.cs (TrimToSize) : Implement.
776
777 2002-04-28  Duncan Mak  <duncan@ximian.com>
778
779         * ArrayList.cs (InsertRange): 
780         (SetRange):
781         (Remove):
782         (TrimToSize): Throw exceptions where needed.
783
784 2002-04-29  Nick Drochak  <ndrochak@gol.com>
785
786         * Hashtable.cs (CopyTo): Throw exceptions where needed.
787
788 2002-04-28  Duncan Mak  <duncan@ximian.com>
789
790         * ArrayList.cs (ReadOnly):
791         (IList.ReadOnly): Implemented.
792
793         (Synchronized):
794         (IList.Synchronized): Implemented.
795
796         (ixedSize):
797         (IList.FixedSize): Implemented.
798
799 2002-03-24  Duncan Mak  <duncan@ximian.com>
800
801         * SortedList.cs (Synchronized): Stubbed out a missing method
802         pointed out by Jakk Simm's test suite.
803
804 2002-03-14  Nick Drochak  <ndrochak@gol.com>
805
806         * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
807         other FixedSize() methods returns an IList.
808
809 2002-03-13  Duncan Mak  <duncan@ximian.com>
810
811         * ArrayList.cs (FixedSize): Changed the return type to IList if
812         the argument is an IList.
813         (Synchronized): Ditto here.
814
815 2002-03-08  Sergey Chaban <serge@wildwestsoftware.com>
816
817         * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
818         Removed unused code from static constructor.
819         GetObjectData () - Version is the same as modificationCount.
820
821 2002-02-20  Nick Drochak  <ndrochak@gol.com>
822
823         * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
824         by Bucky's tests. Implement a couple of things that were left undone.
825
826 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
827
828         * ArrayList.cs: Dick's fix to contructor.
829
830 2002-02-07  Duncan Mak  <duncan@ximian.com>
831
832         * Hashtable.cs: Implemented parts of the ISerializable
833         interface. GetObjectData () is good, but serialization constructor
834         needs some more love.
835
836 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
837
838         * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
839
840 2002-01-04  Ravi Pratap  <ravi@ximian.com>
841
842         * Correct name to MonoTODO everywhere.
843
844 2002-01-04  Ravi Pratap  <ravi@ximian.com>
845
846         * ArrayList.cs : Setting an index does not implicitly
847         extend the arraylist : remove FIXME.
848
849         Decorate incomplete elements with the TODO attribute.
850
851         * BitArray.cs : Insert TODO attributes where appropriate.
852
853         * CaseInsensitiveHashcodeProvider.cs: Ditto.
854
855         * Hashtable.cs, SortedList.cs : Ditto.
856         
857 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
858
859         * ArrayList.cs: implemented AddRange(), CopyTo().
860
861 2001-11-19  Miguel de Icaza  <miguel@ximian.com>
862
863         * DictionaryBase.cs: Implemented.
864
865 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
866
867         * ArrayList.cs: implement ArrayListEnumerator.
868         * Hashtable.cs: hardcode the prime number table.
869
870 2001-11-06 Nick Drochak <ndrochak@gol.com>
871         * Queue.cs: Fixes from Ricardardo.  QueueTest also updated.
872
873 2001-11-04 Nick Drochak <ndrochak@gol.com>
874         * Queue.cs: Fixed small syntax errors that were preventing the compile.
875         I changed the build file to include Queue.cs as well.
876
877 2001-11-04 Nick Drochak <ndrochak@gol.com>
878         * ArrayList.cs: Fixed "off by one" error when shifting left the array when
879         items are removed.
880
881         * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
882         hook methods to the RemoveAt() method.
883
884 2001-11-04 Nick Drochak <ndrochak@gol.com>
885         * ArrayList.cs: Added private enumerator class and make GetEnumerator()
886         methods return an instance of it.
887
888 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
889
890         * ArrayList.cs: fix Insert () to check capacity, not count.
891
892 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
893
894         * DictionaryEntry.cs: added.
895
896 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
897
898         * common.src: removed duplicate entries
899
900 2001-08-08 Nick Drochak <ndrochak@gol.com>
901
902          * ReadOnlyCollectionBase.cs: Initialized private member.
903          * CollectionBase.cs: Initialized private member.
904          * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
905          * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
906          * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
907
908 2001-08-08 Nick Drochak <nick@jobdragon.com>
909
910          * CollectionBase.cs: Add
911          * ReadOnlyCollectionBase.cs: Add
912          * CollectionBaseTest.cs: Add
913          * ReadOnlyCollectionBaseTest.cs: Add
914
915 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
916
917         * StackTest.cs: Add Test case for System.Collections.Stack.  
918         Contributed by Chris Hynes <chrish@assistedsolutions.com>
919
920 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
921
922         * Stack.cs: Clone() doesn't need to check if it's synchronized, since 
923         we override it in SyncStack anyway...  
924
925         * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to 
926         avoid using massive amounts of memory that are not necessary.  We only 
927         drop to half the current size, which I hope will avoid the 'ping-pong' 
928         effect.
929
930         * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly 
931         instead of just returning false, since we may have a ReadOnly wrapper 
932         in the future (although i can't imagine why).  Thanks to David 
933         Menestrina <dmenest@yahoo.com> for pointing this out.
934
935 2001-07-23  Sergey Chaban <serge@wildwestsoftware.com>
936
937         *  Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
938            From now, Clear() increases modification count.
939            Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
940            instead of hcp.GetHashCode(key). This was resulted in the
941            insanely long lookup times when HashCodeProvider was used to
942            construct Hashtable. Added thread-safe wrapper.
943
944 2001-07-16  David Menestrina <dmenest@yahoo.com>
945
946          * BitArray.cs: Add
947          * BitArrayTest.cs: Add
948
949 2001-07-18  Miguel de Icaza  <miguel@ximian.com>
950
951         * IDictionary.cs (Collections): IDictionary implements ICollection
952         as well.  Thanks Sergey!
953
954 2001-07-18  Garrett Rooney  <rooneg@electricjellyfish.net>
955
956         * Stack.cs Removed unnecessary locking from many methods of 
957         SyncStack, removed SyncEnumerator because it was unnecessary, 
958         added a modCount member to Stack and Stack.Enumerator, to 
959         ensure that the Stack has not been modified out form under the 
960         Enumerator, and changed the Enumerator to use a reference to the 
961         stack rather than copying over the contents array.
962
963 2001-07-17  David Menestrina  <dmenest@yahoo.com>
964
965         * Added implementation of BitArray.
966
967 2001-07-17  Miguel de Icaza  <miguel@ximian.com>
968
969         * Hashtable.cs: Removed call to d.Count in the Hashtable
970         constructor that takes an IDictionary as IDictionary does not
971         provide a Count field.
972
973 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
974
975         * IDictionary.cs: Clear was clear.
976
977 2001-07-13  Miguel de Icaza  <miguel@ximian.com>
978
979         * All files: Renamespace things to System.
980
981 2001-07-05  Vladimir Vukicevic  <vladimir@ximian.com>
982
983         * ArrayList.cs: initial checkin and implementation
984
985         * ICollection.cs, IComprarer.cs, IDictionary.cs,
986           IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
987           IList.cs: initial checkin