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