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