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