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