2003-06-07 Ben Maurer <bmaurer@users.sourceforge.net>
[mono.git] / mcs / class / corlib / System.Collections / ChangeLog
1 2003-06-07  Ben Maurer <bmaurer@users.sourceforge.net>
2         * Stack.cs: Contains (null) works correctly.
3
4 2003-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5
6         * Stack.cs: fixed Clone ().
7
8 2003-06-04  Ben Maurer <bmaurer@users.sourceforge.net>
9         * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
10         failures
11
12 2003-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
13
14         * ArrayList.cs: nullify the array in Clear ().
15         * Queue.cs: nullify the array in Dequeue ().
16         * Stack.cs: nullify the array in Pop ().
17
18 2003-06-02  Ben Maurer <bmaurer@users.sourceforge.net>
19         * Queue.cs: Added argument checking in constructors according to
20         specs. Also changed default size to 32 as required by the specs.
21
22 2003-05-31  Ben Maurer <bmaurer@users.sourceforge.net>
23         * BitArray.cs: Rewrote, as it was failing most of the Rotor
24         tests. It now passes them 100%. Also fixes bug #43667.
25
26 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
27 * ArrayList.cs
28         Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
29
30 2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
31 * ArrayList.cs
32         Added methods to support IList wrappers
33
34 2003-04-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
35
36         * ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
37         that fixes bug #41684.
38
39 2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>
40
41         * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
42         like MS.NET) and implemented the
43         CaseInsensitiveComparerTest(culture) constructor.
44
45 2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
46
47         * Queue.cs: fixed bug #39046.
48
49 2003-02-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
50
51         * Hashtable.cs: Make hashtable serializable (at least with binary
52         formatter). This process was started by the Hashtable maintainer.
53
54 2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
55
56         * ArrayList.cs: fixed setSize (!).
57
58 2003-01-31  Zoltan Varga  <vargaz@freemail.hu>
59
60         * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
61         here, since RemoveAt raises a different exception than RemoveRange
62         when the index is out-of-range. Fixes the ArrayList unit tests.
63
64         * ArrayList.cs (RemoveRange): fixed indentation.
65
66 2003-01-12  Varga Zoltan <vargaz@freemail.hu>
67
68         * ArrayList.cs (RemoveRange): Patch for allowing zero-size
69         removal at the end of a list. It also cleans up the argument
70         checking code so the raised exceptions have the same message as
71         under MS.NET.
72
73 2003-01-10  Duncan Mak  <duncan@ximian.com>
74
75         * ArrayList.cs (Insert): Patch from Zoltan
76         (Zoltan.2.Varga@nokia.com).
77
78 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
79
80         * Hashtable.cs: add the key to the error message when
81         'key duplication'.
82
83 2002-10-15  Vladimir Vukicevic  <vladimir@pobox.com>
84
85         * Queue.cs: update new capacity in grow(), preventing queue from
86         constantly looping over old elements in Dequeue(). Also use
87         capacity instead of contents.Length in Enqueue().
88
89 2002-09-24  Nick Drochak  <ndrochak@gol.com>
90
91         * ArrayList.cs: Make enumerator throw exception if the ArrayList is
92         mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
93         this was passed as parameter.
94
95 2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
96
97         * ArrayList.cs: fixed bug #29658.
98
99 2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
100
101         * ArrayList.cs:
102         * BitArray.cs:
103         * CaseInsensitiveComparer.cs:
104         * CaseInsensitiveHashCodeProvider.cs:
105         * IEnumerable.cs:
106         * Queue.cs: misc. fixes based on class status page.
107
108 2002-07-22  Tim Coleman  <tim@timcoleman.com>
109         * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
110                 which was breaking System.Web build on linux
111
112 2002-07-05  Sergey Chaban <serge@wildwestsoftware.com>
113
114         * SortedList.cs: Implemented thread-safe wrapper. Changed some
115         args to camelCase.
116
117 2002-07-02  Nick Drochak  <ndrochak@gol.com>
118
119         * SortedList.cs: Constructors should use the capacity given regardless 
120         how small. After a Clear() the Capacit should be 16. Since a Dictionary
121         might be used in the constructor, make sure we trap exceptions thrown
122         by the Comparer, like in Add().
123
124 2002-06-30  Nick Drochak  <ndrochak@gol.com>
125
126         * SortedList.cs: Many fixed. A lot of checking for null and throwing
127         exceptions.  A few logic bugs fixed as well
128
129 2002-06-25   Nick Drochak  <ndrochak@gol.com>
130
131         * Queue.cs (CopyTo): Fix logic for copying the circular array.
132         (Enqueue): Use actual length of array to determine when to grow
133         (QueueEnumerator) Fixed Current to use array length, not capacity, and
134         fixed off-by-one errror in MoveNext().
135
136 Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
137
138         * ArrayList.cs: fixed RemoveAt() implementation.
139
140 2002-05-27  Nick Drochak  <ndrochak@gol.com>
141
142         * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
143         fix check of parameters sent to make sure we don't search beyond the
144         beginning of the list.
145         (ListWrapper): Throw exception if called with null.
146         We now pass all unit tests.
147
148 2002-05-23  Duncan Mak  <duncan@ximian.com>
149
150         * ArrayList.cs (Wrapper): Preliminary implementation of
151         ArrayList.Wrapper (IList).
152
153 2002-05-22  Martin Baulig  <martin@gnome.org>
154
155         * ArrayList.cs: Made count, capacity and dataArray the first three
156         fields in the class.  They're read by the reflection library.
157
158 2002-05-21  Lawrence Pit  <loz@cable.a2000.nl>
159
160         * ArrayList.cs: Fixed bug where a capacity of 0 could be reached, 
161         thereby causing problems when trying to add elements.
162
163 2002-05-06  Duncan Mak  <duncan@ximian.com>
164
165         * Queue.cs (TrimToSize): Implemented.
166         
167 2002-05-05  Nick Drochak  <ndrochak@gol.com>
168
169         * ArrayList.cs: Throw RankException when constructing from a 
170         multi-dimensional array. Confirmed behavior from MS.NET
171
172 Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>
173
174         * ArrayList.cs: make mcs compile again: it's allowed to
175         call arraylist.CopyTo(array, 0) when the length of the array
176         is also 0.
177
178 Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>
179
180         * SortedList.cs: fix RemoveAt () to use the correct length in
181         Array.Copy.
182
183 2002-05-01  Nick Drochak  <ndrochak@gol.com>
184
185         * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
186
187 2002/05/01  Nick Drochak <ndrochak@gol.com>
188
189         * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
190         where needed.
191
192 2002/04/30  Nick Drochak <ndrochak@gol.com>
193
194         * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
195                 (InsertRange) : Implement.
196                 (SetRange) : Implement.
197
198 2002-04-30  Nick Drochak  <ndrochak@gol.com>
199
200         * ArrayList.cs (TrimToSize) : Implement.
201
202 2002-04-28  Duncan Mak  <duncan@ximian.com>
203
204         * ArrayList.cs (InsertRange): 
205         (SetRange):
206         (Remove):
207         (TrimToSize): Throw exceptions where needed.
208
209 2002-04-29  Nick Drochak  <ndrochak@gol.com>
210
211         * Hashtable.cs (CopyTo): Throw exceptions where needed.
212
213 2002-04-28  Duncan Mak  <duncan@ximian.com>
214
215         * ArrayList.cs (ReadOnly):
216         (IList.ReadOnly): Implemented.
217
218         (Synchronized):
219         (IList.Synchronized): Implemented.
220
221         (ixedSize):
222         (IList.FixedSize): Implemented.
223
224 2002-03-24  Duncan Mak  <duncan@ximian.com>
225
226         * SortedList.cs (Synchronized): Stubbed out a missing method
227         pointed out by Jakk Simm's test suite.
228
229 2002-03-14  Nick Drochak  <ndrochak@gol.com>
230
231         * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
232         other FixedSize() methods returns an IList.
233
234 2002-03-13  Duncan Mak  <duncan@ximian.com>
235
236         * ArrayList.cs (FixedSize): Changed the return type to IList if
237         the argument is an IList.
238         (Synchronized): Ditto here.
239
240 2002-03-08  Sergey Chaban <serge@wildwestsoftware.com>
241
242         * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
243         Removed unused code from static constructor.
244         GetObjectData () - Version is the same as modificationCount.
245
246 2002-02-20  Nick Drochak  <ndrochak@gol.com>
247
248         * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
249         by Bucky's tests. Implement a couple of things that were left undone.
250
251 Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>
252
253         * ArrayList.cs: Dick's fix to contructor.
254
255 2002-02-07  Duncan Mak  <duncan@ximian.com>
256
257         * Hashtable.cs: Implemented parts of the ISerializable
258         interface. GetObjectData () is good, but serialization constructor
259         needs some more love.
260
261 Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>
262
263         * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
264
265 2002-01-04  Ravi Pratap  <ravi@ximian.com>
266
267         * Correct name to MonoTODO everywhere.
268
269 2002-01-04  Ravi Pratap  <ravi@ximian.com>
270
271         * ArrayList.cs : Setting an index does not implicitly
272         extend the arraylist : remove FIXME.
273
274         Decorate incomplete elements with the TODO attribute.
275
276         * BitArray.cs : Insert TODO attributes where appropriate.
277
278         * CaseInsensitiveHashcodeProvider.cs: Ditto.
279
280         * Hashtable.cs, SortedList.cs : Ditto.
281         
282 Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>
283
284         * ArrayList.cs: implemented AddRange(), CopyTo().
285
286 2001-11-19  Miguel de Icaza  <miguel@ximian.com>
287
288         * DictionaryBase.cs: Implemented.
289
290 Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>
291
292         * ArrayList.cs: implement ArrayListEnumerator.
293         * Hashtable.cs: hardcode the prime number table.
294
295 2001-11-06 Nick Drochak <ndrochak@gol.com>
296         * Queue.cs: Fixes from Ricardardo.  QueueTest also updated.
297
298 2001-11-04 Nick Drochak <ndrochak@gol.com>
299         * Queue.cs: Fixed small syntax errors that were preventing the compile.
300         I changed the build file to include Queue.cs as well.
301
302 2001-11-04 Nick Drochak <ndrochak@gol.com>
303         * ArrayList.cs: Fixed "off by one" error when shifting left the array when
304         items are removed.
305
306         * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
307         hook methods to the RemoveAt() method.
308
309 2001-11-04 Nick Drochak <ndrochak@gol.com>
310         * ArrayList.cs: Added private enumerator class and make GetEnumerator()
311         methods return an instance of it.
312
313 Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
314
315         * ArrayList.cs: fix Insert () to check capacity, not count.
316
317 Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>
318
319         * DictionaryEntry.cs: added.
320
321 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
322
323         * common.src: removed duplicate entries
324
325 2001-08-08 Nick Drochak <ndrochak@gol.com>
326
327          * ReadOnlyCollectionBase.cs: Initialized private member.
328          * CollectionBase.cs: Initialized private member.
329          * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
330          * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
331          * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
332
333 2001-08-08 Nick Drochak <nick@jobdragon.com>
334
335          * CollectionBase.cs: Add
336          * ReadOnlyCollectionBase.cs: Add
337          * CollectionBaseTest.cs: Add
338          * ReadOnlyCollectionBaseTest.cs: Add
339
340 2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>
341
342         * StackTest.cs: Add Test case for System.Collections.Stack.  
343         Contributed by Chris Hynes <chrish@assistedsolutions.com>
344
345 2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>
346
347         * Stack.cs: Clone() doesn't need to check if it's synchronized, since 
348         we override it in SyncStack anyway...  
349
350         * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to 
351         avoid using massive amounts of memory that are not necessary.  We only 
352         drop to half the current size, which I hope will avoid the 'ping-pong' 
353         effect.
354
355         * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly 
356         instead of just returning false, since we may have a ReadOnly wrapper 
357         in the future (although i can't imagine why).  Thanks to David 
358         Menestrina <dmenest@yahoo.com> for pointing this out.
359
360 2001-07-23  Sergey Chaban <serge@wildwestsoftware.com>
361
362         *  Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
363            From now, Clear() increases modification count.
364            Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
365            instead of hcp.GetHashCode(key). This was resulted in the
366            insanely long lookup times when HashCodeProvider was used to
367            construct Hashtable. Added thread-safe wrapper.
368
369 2001-07-16  David Menestrina <dmenest@yahoo.com>
370
371          * BitArray.cs: Add
372          * BitArrayTest.cs: Add
373
374 2001-07-18  Miguel de Icaza  <miguel@ximian.com>
375
376         * IDictionary.cs (Collections): IDictionary implements ICollection
377         as well.  Thanks Sergey!
378
379 2001-07-18  Garrett Rooney  <rooneg@electricjellyfish.net>
380
381         * Stack.cs Removed unnecessary locking from many methods of 
382         SyncStack, removed SyncEnumerator because it was unnecessary, 
383         added a modCount member to Stack and Stack.Enumerator, to 
384         ensure that the Stack has not been modified out form under the 
385         Enumerator, and changed the Enumerator to use a reference to the 
386         stack rather than copying over the contents array.
387
388 2001-07-17  David Menestrina  <dmenest@yahoo.com>
389
390         * Added implementation of BitArray.
391
392 2001-07-17  Miguel de Icaza  <miguel@ximian.com>
393
394         * Hashtable.cs: Removed call to d.Count in the Hashtable
395         constructor that takes an IDictionary as IDictionary does not
396         provide a Count field.
397
398 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
399
400         * IDictionary.cs: Clear was clear.
401
402 2001-07-13  Miguel de Icaza  <miguel@ximian.com>
403
404         * All files: Renamespace things to System.
405
406 2001-07-05  Vladimir Vukicevic  <vladimir@ximian.com>
407
408         * ArrayList.cs: initial checkin and implementation
409
410         * ICollection.cs, IComprarer.cs, IDictionary.cs,
411           IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
412           IList.cs: initial checkin
413