Fix Enumerator.Current handling in SortedDictionary<,>
[mono.git] / mcs / class / System / System.Collections.Generic / ChangeLog
1 2009-07-31  Raja R Harinath  <harinath@hurrynot.org>
2
3         * RBTree.cs (NodeEnumerator.check_current): New helper.
4         (NodeEnumerator.Current): Don't check invariants.
5         * SortedDictionary.cs (Enumerator.Current): Likewise.
6         (ValueCollection.Enumerator.Current): Likewise.
7         (KeyCollection.Enumerator.Current): Likewise.
8
9 2009-07-26  Miguel de Icaza  <miguel@novell.com>
10
11         * Stack.cs: Check arguments.
12
13 2009-07-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
14
15         * SortedList.cs: the IComparar.Compare arguments were reversed.
16         Fixes bug #521750. Patch by Kevin Fitzgerald.
17
18 2009-05-10  Andy Hume  <andyhume32@yahoo.co.uk>
19
20         * LinkedList.cs: Add null check. Fixes #481621.
21
22 2009-03-11  Zoltan Varga  <vargaz@gmail.com>
23
24         * SortedList.cs: Add version checking to the Key/Value enumerators +
25         implement support for Reset (). Fixes #483985.
26
27 2009-05-06  Pia Eriksson  <pe@hallerud.se>
28
29         * SortedList.cs: Handle Count == 0 in CopyTo correcly
30         * SortedDictionary.cs: Handle Count == 0 in CopyTo correcly
31
32 2007-11-15  Roei Erez  <roeie@mainsoft.com>
33
34         * Stack.cs: Performance improvement in the case where the stack is popped
35         until empty. Changed the condition for resizing the array, and instead of
36         check for zero size, check if the inner array is null.
37
38 2007-11-15  Jb Evain  <jbevain@novell.com>
39
40         * LinkedList.cs: ifdef out manually the Serialization part of the
41         LinkedList.Enumerator. As it is a struct, the field SerializationInfo
42         have to be assigned in the default constructor, and the tuner cannot
43         remove that. Fixes #341938 for real.
44
45 2007-10-09  Raja R Harinath  <rharinath@novell.com>
46
47         * RBTree.cs (get_Item, do_remove): Remove redundant code.
48
49 2007-08-20  Jb Evain  <jbevain@novell.com>
50
51         * SortedList.cs: don't crash in ListKeys and ListValues
52         when CopyTo targets an empty array, and that the
53         sorted list is empty. Fixes #82492.
54
55 2007-05-08  Raja R Harinath  <rharinath@novell.com>
56
57         Avoid unnecessary allocation on indexer access
58         * SortedDictionary.cs (NodeHelper): Rename from NodeComparer.
59         (NodeHelper.CreateNode): New.
60         (Item.set): Move responsibility of creating new nodes to
61         RBTree.Intern.
62         * RBTree.cs (INodeHelper): Rename from INodeComparer.
63         (INodeHelper.CreateNode): New.
64         (Intern): Use it to create a new node if no node is passed in.
65
66 2007-05-08 Igor Zelmanovich <igorz@mainsoft.com>
67
68         * RBTree.cs: for TARGET_JVM used Thread Local Storage 
69         istead Thread-Relative Static Fields 
70
71 2007-05-02  Raja R Harinath  <rharinath@novell.com>
72
73         * RBTree.cs (Enumerator.Current): Remove nullref.
74
75         * SortedDictionary.cs (ICollection.Contains): Use EqualityComparer
76         for comparing the value field.
77
78         * RBTree.cs (do_remove): Remove some redundant assignments/checks.
79         (NodeEnumerator): Simplify.  Keep track of a list of
80         right-pennants that need to be traversed next, rather than
81         comparing parent pointers.
82
83 2007-05-02  Raja R Harinath  <harinath@gmail.com>
84
85         Make add and remove operations O(log n).
86         * SortedDictionary.cs: Rewrite to use the red-black tree
87         implementation from RBTree.cs.
88         * RBTree.cs: Some more refactoring.  Rename Insert() to Intern(),
89         and modify semantics slightly.  Replace Contains() with Lookup().
90
91 2007-04-30  Raja R Harinath  <rharinath@novell.com>
92
93         * RBTree.cs: Refactor to reduce generics code.
94
95 2007-04-30  Raja R Harinath  <harinath@gmail.com>
96
97         * RBTree.cs: New red-black tree implementation for use with
98         SortedDictionary.
99
100 2007-04-19  Gert Driesen  <drieseng@users.sourceforge.net>
101
102         * Queue.cs: Fixed binary serialization, based on patch provided by
103         Lionel Cuir. Fixes TrimExcess to use SetCapacity, before it was not 
104         updating _head which could lead to IndexOutOfRangeException.
105         * Stack.cs: Fixed binary serialization, based on patch provided by
106         Lionel Cuir. In Pop, clear entry from array to help GC.
107
108 2007-03-27  Alan McGovern <alan.mcgovern@gmail.com>
109
110         * Queue.cs: Removed wrong call to version++
111         * Stack.cs: Removed wrong call to version++
112
113 2006-09-30  Gert Driesen  <drieseng@users.sourceforge.net>
114
115         * SortedList.cs: Count property, indexer and Clear method should not 
116         be virtual. Removed unnecessary explicit interface implementation of
117          Add (TKey, TValue) and Remove (TKey, TValue).
118         * Queue.cs: Marked Enumerator as Serializable.
119         * Stack.cs: Marked Stack <T> and Enumerator as serializable.
120
121 2006-09-28  Andrew Skiba  <andrews@mainsoft.com>
122
123         * Stack.cs: TARGET_JVM
124
125 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
126
127         * SortedDictionary.cs : new file. The original code is mostly
128           from Kazuki Oikawa.
129
130 2006-03-11  Miguel de Icaza  <miguel@novell.com>
131
132         * Queue.cs: Flag as serializable.
133
134         * LinkedList.cs (OnDeserialization): Fix signature. 
135
136         * SortedList.cs: Implement explicitly a few methods that were
137         flagged by corcompare. 
138
139 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
140
141         * SortedList.cs Queue.cs Stack.cs: Implement TrimExcess methods.
142         
143         * SortedList.cs: Fix build.
144
145         * Stack.cs SortedList.cs LinkedList.cs: Update to net 2.0 RTM.
146
147 2005-11-09  Zoltan Varga  <vargaz@gmail.com>
148
149         * SortedList.cs: New file.
150
151 2005-09-04  David Waite  <mass@akuma.org>
152
153         * LinkedList.cs, LinkedListNode.cs: added implementation of LinkedList<T>
154
155 2005-08-08  Kamil Skalski  <nazgul@nemerle.org>
156
157         * Queue.cs, Stack.cs: remove implementation of ICollection<T>,
158         since it is no longer in b2 API
159
160 2005-06-20  David Waite  <mass@akuma.org>
161
162         * Collection.cs, ReadOnlyCollection.cs: removed as they are no longer in the b2 API
163
164 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
165
166         * Queue.cs, Stack.cs: moved from mscorlib.dll
167
168 2005-02-35  Carlos Alberto Cortez <calberto.cortez@gmail.com>
169
170         * Collections.cs: Changed the code inside IndexOf, for
171         the use of Array.IndexOf<>, to keep clean the code.
172         
173 2004-11-17  Carlos Alberto Cortez Guevara <carlos@unixmexico.org>
174
175         * Collections.cs: Avoid the call to Array.Clear () in RemoveItem (),
176         now we only assign the last element (the deleted one) to its default
177         value.
178         
179 2004-09-20  Gert Driesen <drieseng@users.sourceforge.net>
180
181         * ReadOnlyCollection.cs: Moved over from corlib
182         * Collection.cs: Moved over from corlib