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