2009-08-20 Sebastien Pouliot <sebastien@ximian.com>
[mono.git] / mcs / class / System / System.Collections.Specialized / ChangeLog
1 2009-03-01  Zoltan Varga  <vargaz@gmail.com>
2
3         * NameValueCollection.cs (AsSingleString): Avoid the allocation of
4         a stringbuilder for collections with only one element.
5
6 2008-09-09  Scott Peterson  <lunchtimemama@gmail.com>
7
8         * BitVector32.cs: Minor fixes. Simplified Section.ToString and
9         GetHashCode, and BitVector32.Equals.
10
11 2008-08-06  Scott Peterson  <lunchtimemama@gmail.com>
12
13         * BitVector32.cs: Fixed a bug which allowed for invalid sections
14         to be created with CreateSection. Also simplified HighestSetBit
15         algorithm and got rid ofNumberOfSetBits (using HighestSetBit
16         works just fine).
17
18 2008-07-31  Jb Evain  <jbevain@novell.com>
19
20         * StringDictionary.cs: remove ComponentModel bits for NET_2_1.
21
22 2008-04-13  Jb Evain  <jbevain@novell.com>
23
24         * CollectionsUtil.cs: internalize for the 2.1 profile.
25         Merged from the Moonlight 2 branch.
26
27 2008-01-07  Juraj Skripsky <js@hotfeet.ch>
28
29         * NameObjectCollectionBase.cs: Add argument checking in CopyTo,
30         replace use of enumerator by for-loop. Check IsReadOnly in BaseSet()
31         only on the 2.0 profile.
32
33 2007-04-29  Ilya Kharmatsky <ilyak@mainsoft.com>
34
35         * NameValueCollection.cs: Proper exception handling in several
36         constructors and CopyTo method, under NET_2_0 target.
37
38 2007-04-15  Marek Safar  <marek.safar@gmail.com>
39
40         * ListDictionary: Removed not used variable.
41
42 2007-03-27  Alan McGovern  <alan.mcgovern@gmail.com>
43
44         * BitVector32.cs: Bugfix for op_inequality.
45
46 2007-01-18  Konstantin Triger  <kostat@mainsoft.com>
47
48         * OrderedDictionary.cs: use IEqualityComparer for key comparison.
49
50 2006-10-03  Andrew Skiba  <andrews@mainsoft.com>
51
52         * ListDictionary.cs: remove unnecessary out parameter
53
54 2006-10-02  Gert Driesen  <drieseng@users.sourceforge.net>
55
56         * CollectionsUtil.cs: Set eol-style to CRLF.
57         * StringDictionary.cs: Fixed line endings. Set eol-style to CRLF.
58         * StringEnumerator.cs: Set eol-style to CRLF.
59         * OrderDictionary.cs: Set eol-style to CRLF.
60
61 2006-09-30  Gert Driesen  <drieseng@users.sourceforge.net>
62
63         * OrderedDictionary.cs: IsReadOnly, indexers, Keys and Values should
64         not be virtual.
65
66 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
67
68         * BitVector32.cs : oops those operators are for BitVector32.Section,
69           not BitVector32 itself.
70
71 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
72
73         * BitVector32.cs : added operator== and != in 2.0.
74
75 2006-03-11  Miguel de Icaza  <miguel@novell.com>
76
77         * IOrderedDictionary.cs: Flag GetEnumerator as a "new" method to
78         avoid warning.
79
80 2005-11-30  Sebastien Pouliot  <sebastien@ximian.com> 
81  
82         * OrderedDictionary.cs: OnDeserialization is protected virtual (not 
83         private).
84
85 2005-11-30  Sebastien Pouliot  <sebastien@ximian.com>
86
87         * BitVector32.cs: Fixed 2.0 API changes and this[int] setter under 2.0
88         * HybridDictionary.cs: Fixed Contains different behaviour under 2.0.
89         * IOrderedDictionary.cs: Added missing GetEnumarator to the interface.
90         * NameObjectCollectionBase.cs: Fixed 2.0 API changes and 
91         serialization.
92         * NameValueCollection.cs: Fixed 2.0 API changes.
93         * OrderedDictionary.cs: Fixed API changes, serialization and this[int]
94         setter.
95         * StringDictionary.cs: Added missing null checks.
96
97 2005-10-26  Raja R Harinath  <rharinath@novell.com>
98
99         * HybridDictionary.cs (is_list): Remove.
100         (inner): Remove 'set' accessor.
101         (HybridDictionary, Switch): Initialize 'list' and 'hashtable' directly.
102
103 2005-10-26  Svetlana Zholkovsky  <svetlanaz@mainsoft.com>
104
105         * NameObjectCollectionBase.cs
106       ListDictionary.cs
107       HybridDictionary.cs
108       Fix serialization compatibility with .NET
109
110 2005-09-01  Raja R Harinath  <rharinath@novell.com>
111
112         * NameValueCollection.cs (Add): Add a key from the other
113         collection even if its associated value list is empty.
114         Fix regression introduced by last change.
115
116 2005-08-30  Jackson Harper  <jackson@ximian.com>
117
118         * NameValueCollection.cs: Don't crash when we have empty
119         collections.
120
121 2005-08-19  Jb Evain  <jbevain@gmail.com>
122
123         * NameObjectCollectionBase (GetEnumerator):
124                 Use the virtual modifier only in 2.0 profile.
125
126 2005-08-03  Raja R Harinath  <rharinath@novell.com>
127
128         * ListDictionary.cs: Rewrite to reduce key comparison overhead.
129         Unify all list traversals into FindEntry.
130         (AreEqual): Remove.
131         (FindEntry): Split into two duplicate loops, one when comparer ==
132         null, the other when it isn't.  Add new out parameter that points
133         to the entry preceding the result.
134         (Add, AddImpl, this []): Update.
135         (Remove): Use FindEntry for traversal.
136         (CopyTo): Add more tests.
137         (ListEntryEnumerator): Simplify.
138         (ListEntryCollection, ListEntryCollectionEnumerator): Likewise.
139
140         * HybridDictionary.cs: Rewrite to avoid a test on each operation.
141         (list, hashtable): Remove.
142         (inner): New IDictionary field that can hold either a list
143         dictionary or a hashtable.
144         (is_list): New.  Notes whether 'inner' holds a list dictionary or not.
145         (Clear): Don't change a hashtable to a list dictionary.
146
147 2005-07-25  Lluis Sanchez Gual <lluis@novell.com>
148
149         * NameObjectCollectionBase.cs: Don't throw an exception in
150         OnDeserialization if infoCopy has not been set, which means that
151         the serialization constructor has not been called, because
152         a subclass may completely override that constructor.
153         This fixes bug #75607.
154
155 2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
156
157         * ProcessStringDictionary.cs: PlatformID for 2.0.
158
159 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
160
161         * NameObjectCollectionBase.cs: after 1.0, this uses DefaultInvariant for
162         the hash code provider and comparer, as Ben said.
163
164 2005-05-05  Lluis Sanchez Gual <lluis@novell.com>
165
166         * OrderedDictionary.cs: Don't crash when removing an item
167         that is not in the dictionary.
168
169 2005-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
170
171         * ProcessStringDictionary.cs: on non-windows system, don't make the
172         hashtable case-insensitive. Fixes bug #74796.
173
174 2005-03-23  Lluis Sanchez Gual <lluis@novell.com>
175
176         * OrderedDictionary.cs: Fix bug in item setter.
177
178 2005-03-04  Lluis Sanchez Gual <lluis@novell.com>
179
180         * OrderedDictionary.cs: Implemented.
181
182 2004-08-16  Duncan Mak  <duncan@ximian.com>
183
184         * NameObjectCollectionBase.cs: Fix line endings. It's mostly in
185         DOS endings, so I left it at that.
186         (GetEnumerator): Made virtual.
187
188 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
189
190         * HybridDictionary.cs: Fixed Contains for null argument (again). Return
191         false when dictionary is empty or else throw an ArgumentNullException.
192         * NameObjectCollectionBase.cs: Now use IComparer to compare keys. This
193         completes a TODO and fix Remove in NameValueCollection.
194         * NameValueCollection.cs: Added missing Rank check in CopyTo (Array,
195         int).
196
197 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
198
199         * HybridDictionary.cs: Fixed Contains for null argument.
200         * NameValueCollection.cs: Fixed Set to remove existing values. Fixed
201         Add(NVC) to throw same exception as MS implementation.
202
203 2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>
204
205         * StringCollection.cs: Renamed internal variable to make serialization
206           compatible with MS.NET.
207
208 2004-03-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
209
210         * ListDictionary.cs: mark ListEntry as serializable. Thanks to Jan
211         Jaros.
212
213 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
214
215         * ProcessStringDictionary.cs: the same as StringDictionary, but
216         doesn't turn keys into lowercase.
217
218 2003-11-18  Todd Berman <tberman@gentoo.org>
219
220         * IOrderedDictionary.cs: new v2 interface
221
222 2003-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
223
224         * NameObjectCollectionBase.cs: added serialization support.
225
226 2003-09-04  Duncan Mak  <duncan@ximian.com>
227
228         Patches from Alon Gazit <along@mainsoft.com>.
229
230         * BitVector32.cs (CreateSection): Check that the new
231         calculated offset isn't more than 32 and not that the sum of the
232         new offset and the number of set bits is more than 32.
233         (this): Perform bitwise and with the complement of the mask
234         shifted version (~(section.Mask << section.Offset)) and not with
235         the shifted version of the mask's complement (~section.Mask <<
236         section.Offset).
237         (this): Currently doesn't return the correct value when the data
238         in the BitVector32 instance is negative.
239         
240         * ListDictionary.cs (CopyTo): If the array is null, it should
241         throw ArgumentNullException. If the index is less than 0, it
242         should throw ArgumentOutOfRangeException.
243         (Remove): Throw ArgumentNullException when the parameter is null.
244
245 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
246
247         * StringDictionary.cs: Reworked attributes based on the new Consts scheme
248
249 2003-07-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
250
251         * NameObjectCollectionBase.cs: Implemented a few missing methods, fixed public signatures
252
253 2003-07-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
254
255         * NameObjectCollectionBase.cs: Fixed signature to be CLSCompliant, changed/corrected header
256         * StringCollection.cs: Improved implementation (should perform better)
257
258 2003-07-02  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
259
260         * BitVector32.cs: Implemented missing method
261         * NameValueCollection.cs: Fixed public signature, Styleguidelined header
262         * StringDictionary.cs: Added missing attribute, fixed visibilities
263
264 2003-06-08  Ben Maurer <bmaurer@users.sourceforge.net>
265         * StringCollection.cs: Rewrote. Now uses ArrayList. Fixes up quite
266         a few Rotor bugs.
267
268 2003-03-03  Miguel de Icaza  <miguel@ximian.com>
269
270         * NameValueCollection.cs: Uncoment constructor, an old MCS bug
271         prevented this from working.  Removed test for nullitude of col,
272         as it would have aborted anyways on the dereference in the base
273         constructor call. 
274
275 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
276
277         * StringCollection.cs: fixed range checks in CopyTo.
278
279 2002-11-06  Daniel Stodden <stodden@in.tum.de>
280
281         * ListDictionary.cs:
282                 - Filled in missing CopyTo()s.
283                 - No, overwriting an entry should not change the Count <:)
284
285 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
286
287         * NameValueCollection.cs: fixed Add (NameValueCollection).
288
289 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
290
291         * StringCollection.cs: fixes bug #29791. Thanks to Marcus Urban
292         (mathpup@mylinuxisp.com).
293
294 2002-07-22  Tim Coleman <tim@timcoleman.com>
295         * NameObjectCollectionBase.cs: added iterator stubb to 
296                 NameObjectCollectionBase.KeysCollection
297
298 2002-07-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
299
300         * HybridDictionary.cs:
301         (Remove): fixed. The value is either in the list or in the hash.
302
303 2002-06-24  Andrew Birkett <adb@tardis.ed.ac.uk>
304
305         * BitVector32.cs: Implemented 'set' section indexer.  Check for
306         overly large sections.  Factored out some helper methods. 
307
308 2002-05-11  Lawrence Pit <loz@cable.a2000.nl>
309
310         * NameValueCollection.AsStringArray: fixed ArgumentNullException bug.
311
312 2002-05-10  Lawrence Pit <loz@cable.a2000.nl>
313
314         * HybridDictionary.cs: implemented
315         * CollectionsUtil.cs: implemented
316         * BitVector32.cs: implemeneted
317         * Modified signature of method ListDictionary.GetEnumerator 
318
319 Fri Feb 8 18:02:50 CET 2002 Paolo Molaro <lupus@ximian.com>
320
321         * NameObjectCollectionBase.cs, NameValueCollection.cs: tweaks to make
322         it compile and provide the constructor needed by nunitcore.
323
324 2002-01-05  Ravi Pratap  <ravi@ximian.com>
325
326         * BitVector32.cs, ListDictionary.cs : MonoTODO everywhere!
327
328         * NameObjectCollectionBase.cs, NameValueCollection.cs : Ditto.
329
330 2001-08-24  Nick Drochak  <ndrochak@gol.com>
331         * NameObjectCollectionBase.cs: Add stub implementation
332         * common.src: Add NameObjectCollectionBase to the build
333         * NameValueCollection.cs: add 'override' to CopyTo().  Maybe
334                 this code actually belongs in the superclass.
335
336 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
337
338         * common.src: Add NameValueCollection.cs to the build
339
340 2001-08-22      John Barnette   <jbarn@httcb.net>
341         * StringDictionary.cs:
342                 Initial working implementation.
343         * ListDictionary.cs:
344                 Initial working implementation.
345
346 2001-07-17      John Barnette   <jbarn@httcb.net>
347         * StringCollection.cs:
348                 Implemented and working according to spec.
349         * StringIterator.cs:
350                 (ADDED) Implemented and working according to spec.
351         * StringCollectionTest.cs:
352                 (ADDED) Initial revision contains 17 tests; all of 'em
353                 run correctly.  More complicated tests to follow.
354
355 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
356
357         * StringCollection.cs: Added so that CodeDom.* would compile.
358