ChangeLog 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892
  1. 2005-09-29 Miguel de Icaza <[email protected]>
  2. * Add ComVisible(true) to all the classes that needed it.
  3. * Removed documentation from DictionaryBase.cs and moved it to
  4. Monodoc.
  5. * ArrayList.cs: Fixed signature for constructor, parameter names
  6. are normative.
  7. * CollectionBase.cs: Add a couple of missing methods.
  8. 2005-09-01 Atsushi Enomoto <[email protected]>
  9. * Hashtable.cs : SyncHashtable.GetEnumerator() returned keys instead
  10. of entries (DictionaryEntry). Fixed bug #75790.
  11. 2005-09-01 Atsushi Enomoto <[email protected]>
  12. * SortedList.cs : Even though the key/value pair being set are
  13. identical to the existing one, it causes snapshot out of sync.
  14. Fixed bug #59694.
  15. 2005-07-21 Lluis Sanchez Gual <[email protected]>
  16. * CollectionBase.cs: Lazily create the inner list. MS.NET does
  17. it and we need to do the same for the sake of serialization
  18. interoperability. Fixes bug #75575.
  19. 2005-07-17 Florian Gross <[email protected]>
  20. * ArrayList.cs: pass along index offset in RangedArrayList:ToArray.
  21. Fixes bug #75545
  22. 2005-06-23 Ben Maurer <[email protected]>
  23. * Queue.cs: Use the enumerator rather than copy to in the
  24. ctor. This makes us more compat with msft, for example, when
  25. passing a bit array
  26. * Stack.cs: ditto
  27. 2005-06-23 Martin Baulig <[email protected]>
  28. * IKeyComparer.cs: Removed.
  29. 2005-06-12 David Waite <[email protected]>
  30. * Hashtable.cs: make prime-related functions internal so generic
  31. Dictionary can use them.
  32. * IEqualityComparer.cs: add non-generic IEqualityComparer interface
  33. 2005-06-06 Zoltan Varga <[email protected]>
  34. * Hashtable.cs: Add some missing 2.0 attributes.
  35. 2005-05-26 Ben Maurer <[email protected]>
  36. * Queue.cs (grow): fix 61919.
  37. 2005-05-09 Atsushi Enomoto <[email protected]>
  38. * Stack.cs : empty_stack.CopyTo(empty_array, 0) should be allowed.
  39. 2005-02-21 Zoltan Varga <[email protected]>
  40. * Hashtable.cs: Add net 2.0 ReliabilityContractAttributes.
  41. 2005-02-19 Kazuki Oikawa <[email protected]>
  42. * SortedList.cs, Stack.cs: Reverse the order in the Equals calls.
  43. 2004-12-21 Ben Maurer <[email protected]>
  44. * Hashtable.cs (get_Item): duplicate Find here, as we can
  45. specialize a few things. This gives me 7% back.
  46. (Find) Use break rather than return -1. Saves a bit of code.
  47. * Hashtable.cs (GetHash): Avoid a method call. Also, don't store
  48. the this.hcpRef in a variable. This will create another register
  49. which must be pushed on the stack. It is better to just reference
  50. the variable again. hcpRef.GetHashCode (key) is the slow path
  51. anyways, so an extra variable reference here doesn't hurt
  52. (KeyEquals): ditto.
  53. This gives me a few % back in a raw benchmark.
  54. 2004-12-20 Ben Maurer <[email protected]>
  55. * Hashtable.cs (Find): Some minor optimizations here.
  56. * Hashtable.cs: Remove GetImpl and inline it.
  57. * Hashtable.cs (Find): Before calling KeyEquals, check to see if k
  58. == key (ie, they are the same pointer). In many cases, this will
  59. avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)
  60. * Hashtable.cs (Find): Make `i' a uint rather than an int. This
  61. avoids having a long compare.
  62. 2004-12-16 Lluis Sanchez Gual <[email protected]>
  63. * Hashtable.cs: Check for null serialization info in OnDeserialization.
  64. A hashtable subclass can fully override the constructor, so
  65. serializationInfo would be null in this case. Fixes bug #70698.
  66. 2004-12-16 Gonzalo Paniagua Javier <[email protected]>
  67. * ArrayList.cs: don't initialize _items twice. Closes bug #70620.
  68. 2004-12-16 Lluis Sanchez Gual <[email protected]>
  69. * Hashtable.cs: Add deserialized elements in OnDeserialization, since
  70. when the serialization constructor is called, some of the elements
  71. may not yet be fully deserialized. This fixes bug #70570.
  72. 2004-10-08 Raja R Harinath <[email protected]>
  73. * CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
  74. is not invariant, avoid an icall on every character.
  75. 2004-07-21 Geoff Norton <[email protected]>
  76. * Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
  77. a snapshot out of sync error.
  78. 2004-07-21 Duncan Mak <[email protected]>
  79. * DictionaryBase.cs: Rename the dictionary field to hashtable,
  80. which causes a serialization interop bug. Fixes bug #61721.
  81. 2004-06-18 Ben Maurer <[email protected]>
  82. * IKeyComparer.cs: v2 class
  83. 2004-06-15 Gert Driesen <[email protected]>
  84. * CaseInsensitiveComparer.cs: added TODO for serialization
  85. * CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
  86. * SortedList.cs: added TODO for serialization
  87. * Stack.cs: added TODO for serialization
  88. 2004-06-14 Sebastien Pouliot <[email protected]>
  89. * Hashtable.cs: Compare index and length in CopyTo only when length > 0.
  90. 2004-06-14 Lluis Sanchez Gual <[email protected]>
  91. * ArrayList.cs: Avoid endless loop in Insert when the current size is 0.
  92. 2004-06-08 Lluis Sanchez Gual <[email protected]>
  93. * ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization
  94. compatible with MS.NET.
  95. 2004-06-01 Sebastien Pouliot <[email protected]>
  96. * SortedList.cs: Fixed case where the initial capacity was set to 0.
  97. 2004-05-31 Sebastien Pouliot <[email protected]>
  98. * Hashtable.cs: Added ArgumentNullException in GetObjectData.
  99. 2004-05-29 Gonzalo Paniagua Javier <[email protected]>
  100. * ChangeLog:
  101. * Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
  102. I wonder why.
  103. 2004-05-29 Gert Driesen ([email protected])
  104. * Compare.cs: ISerializable should only be implemented
  105. for NET_1_1 profile
  106. 2004-05-29 Gert Driesen ([email protected])
  107. * Compare.cs: Implemented ISerializable, fixes public API
  108. 2004-05-27 Sebastien Pouliot <[email protected]>
  109. * Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
  110. * Queue.cs: Fixed case where we could still get Current after the last
  111. MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
  112. * SortedList.cs: Added missing ICloneable support to internal
  113. enumerator. Added Capacity to the synchronized version of SortedList.
  114. Setting Capacity to 0 returns it to it's default value (16).
  115. 2004-05-26 Sebastien Pouliot <[email protected]>
  116. * ArrayList.cs: Fixed possible integer overflows.
  117. 2004-05-24 Lluis Sanchez Gual <[email protected]>
  118. * Hashtable.cs: Renamed internal class to make serialization compatible
  119. with MS.NET.
  120. 2004-05-10 Gert Driesen ([email protected])
  121. * Hashtable.cs: marked EnumeratorMode private
  122. * SortedList.cs: marked EnumeratorMode private
  123. 2004-05-01 Andreas Nahr <[email protected]>
  124. * Comparer.cs: ensure culture is set to null , removed
  125. static constructor, removed unneccesary checks
  126. 2004-05-01 Andreas Nahr <[email protected]>
  127. * CaseInsensitiveComparer.cs: Fix the default constructor (needs to
  128. set CurrentCulture, ensure culture is set to null for invariant case,
  129. construct early
  130. * Comparer.cs: Restyle, change lineendings
  131. 2004-05-01 Andreas Nahr <[email protected]>
  132. * CaseInsensitiveHashCodeProvider.cs
  133. * CaseInsensitiveComparer.cs: Change lineendings
  134. * CaseInsensitiveComparer.cs: Restyle
  135. 2004-05-01 Andreas Nahr <[email protected]>
  136. * BitArray.cs: Fix parameter names
  137. * CaseInsensitiveHashCodeProvider.cs: Fix signature
  138. * DictionaryEntry.cs: Fix parameter names
  139. * Hashtable.cs: Fix signatures
  140. * SortedList.cs: Fix signatures
  141. 2004-04-25 Andreas Nahr <[email protected]>
  142. * CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
  143. set CurrentCulture, Add null check to other constructor, Call correct function
  144. for invariant case, ensure culture is set to null for invariant case, removed
  145. static constructor, made invariant version available as internal in .Net 1.0
  146. 2004-04-21 Lluis Sanchez Gual <[email protected]>
  147. * CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
  148. Char.ToLower(c,culture), since it does not accept null as culture.
  149. 2004-04-20 Lluis Sanchez Gual <[email protected]>
  150. * Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
  151. interoperability). I also had to make some changes in the implementation:
  152. I added a field _tail that points at the first free position in the array, and
  153. changed the type of growFactor, which is now an int (its value is the old
  154. growFactor * 100).
  155. 2004-04-19 Lluis Sanchez Gual <[email protected]>
  156. * Comparer.cs: Made constructor public.
  157. 2004-03-30 Lluis Sanchez Gual <[email protected]>
  158. * CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
  159. thread, not the one of the thread that created the instance.
  160. * Comparer.cs: Added DefaultInvariant property and missing constructor.
  161. Use the specified culture info to compare strings.
  162. 2004-03-30 Lluis Sanchez Gual <[email protected]>
  163. * CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
  164. Implemented property DefaultInvariant.
  165. 2004-03-29 Lluis Sanchez Gual <[email protected]>
  166. * CollectionBase.cs: Renamed internal arraylist member to match MS.NET
  167. (to allow serialization interoperability).
  168. 2004-03-18 David Sheldon <[email protected]>
  169. * Hashtable.cs: Serialise/Deserialise to two arrays of
  170. keys/values. This will match what MS.NET appears to be
  171. doing.
  172. 2004-02-12 Jackson Harper <[email protected]>
  173. * SortedList.cs: Only .et 1.0 sets the capacity to a min of
  174. initial size.
  175. 2004-01-13 Lluis Sanchez Gual <[email protected]>
  176. * Hashtable.cs: Added serialization support to SynchedHashtable. This
  177. fixes bug #52741.
  178. 2004-01-12 Gonzalo Paniagua Javier <[email protected]>
  179. * Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
  180. ([email protected]).
  181. 2003-12-26 Ben Maurer <[email protected]>
  182. * ArrayList.cs: Add class `SimpleEnumerator' this handles the
  183. .GetEnumerator We are able to remove fields by doing this, the
  184. sizeof the simple version is 75% of that of the complex one, so we
  185. get a pretty nice saving.
  186. 2003-12-23 Lluis Sanchez Gual <[email protected]>
  187. * ArrayList.cs: Renamed private fields m_Count, m_Data and
  188. m_StateChanges to _size, _items and _version, to make it compatible with
  189. MS.NET (needed for remoting interoperability). This fixes bug #52438.
  190. 2003-12-01 Dick Porter <[email protected]>
  191. * CaseInsensitiveComparer.cs: Construct the default comparers when
  192. they're needed, to avoid a dependency loop with CultureInfo's
  193. constructor.
  194. 2003-12-01 Gonzalo Paniagua Javier <[email protected]>
  195. * Queue.cs: patch from Carlos Barcenilla.
  196. public class Queue
  197. - method: ICollection.Clone()
  198. - Optimized. Removed unneeded instructions.
  199. - method: public static Queue Synchronized (Queue queue)
  200. - ArgumentNullException.ParamName must be "queue", not null.
  201. - method: public virtual void TrimToSize()
  202. - Must increment modCount.
  203. private class SyncQueue
  204. - method: public override object Clone ()
  205. - Must return a synchronized (SyncStack) instance.
  206. - method: public override void TrimToSize ()
  207. - Not implemented.
  208. 2003-11-13 Andreas Nahr <[email protected]>
  209. * IEnumerator.cs: Added missing attribute
  210. 2003-11-12 Miguel de Icaza <[email protected]>
  211. * CaseInsensitiveComparer.cs: Add missing method.
  212. 2003-11-10 Zoltan Varga <[email protected]>
  213. * Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
  214. bugs (#50755).
  215. 2003-11-03 Lluis Sanchez Gual <[email protected]>
  216. * SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.
  217. 2003-10-10 Gonzalo Paniagua Javier <[email protected]>
  218. * System.Collections/Hashtable.cs: patch from Carlos A.
  219. Barcenilla ([email protected]) that includes some fixes for
  220. Hashtable + NUnit2 tests.
  221. 2003-10-08 Gonzalo Paniagua Javier <[email protected]>
  222. * Queue.cs: nullify the array in Clear.
  223. 2003-09-26 Zoltan Varga <[email protected]>
  224. * Hashtable.cs: Remove empty static constructor since it prevents this
  225. class from being beforefieldinit.
  226. 2003-08-27 Gonzalo Paniagua Javier <[email protected]>
  227. * CaseInsensitiveHashCodeProvider.cs: small speed improvement.
  228. 2003-08-21 Gonzalo Paniagua Javier <[email protected]>
  229. * Stack.cs: patch by [email protected] (Joerg Rosenkranz) that fixes
  230. bug #47789.
  231. 2003-08-20 Duncan Mak <[email protected]>
  232. * Hashtable.cs (PutImpl): Fix my previous checkin, see details
  233. posted on bug #47692.
  234. I really hope I don't mess up this time, because, if I do again,
  235. it will be really embarrassing.
  236. 2003-08-17 Duncan Mak <[email protected]>
  237. * Hashtable.cs (PutImpl): Patch from Luca Barbieri <[email protected]>.
  238. Currently Hashtable.PutImpl has an incorrect test which causes the
  239. key chain search to terminate as soon as a free slot is found,
  240. causing key duplication.
  241. This fixes bug #47692.
  242. 2003-08-11 Duncan Mak <[email protected]>
  243. * DictionaryBase.cs: Applied patch from Carlos Barcenilla
  244. ([email protected]).
  245. (Idictionary.Add): Added OnValidate, and undo the transaction if
  246. OnInsertCompleteFails.
  247. (Indexer set): MS Implementation does not call OnInsert and undoes
  248. if OnSetComplete throws an exception
  249. (Indexer get): return value is obtained after calling OnGet.
  250. (IDictionary.Remove): Call to OnValidate added. If key does not
  251. exists calls OnValidate, OnRemove and OnRemoveComplete.
  252. (protected IDictionary Dictionary get): Should return itself, not
  253. the inner hashtable.
  254. This fixes bug #47460.
  255. 2003-08-10 Gonzalo Paniagua Javier <[email protected]>
  256. * CollectionBase.cs: applied patch from Carlos Barcenilla
  257. ([email protected]).
  258. 2003-08-04 Gonzalo Paniagua Javier <[email protected]>
  259. * ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
  260. * CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
  261. ([email protected]). Most of the patch is also his.
  262. 2003-07-31 Gonzalo Paniagua Javier <[email protected]>
  263. * ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.
  264. 2003-07-29 Miguel de Icaza <[email protected]>
  265. * ArrayList.cs: Deployed ArrayList from Tum; Fixed iterator to
  266. allow nulls, and inline a few calls to make profiling more useful.
  267. 2003-07-24 Miguel de Icaza <[email protected]>
  268. * ArrayList.cs: Removed MonoTODO.
  269. 2003-07-07 Gonzalo Paniagua Javier <[email protected]>
  270. * Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
  271. Thanks to [email protected] (Joerg Rosenkranz).
  272. 2003-06-27 Duncan Mak <[email protected]>
  273. * Hashtable.cs: Patch from [email protected], GetEnumerator should be
  274. returning DictionaryEntrys, instead of just the Key of the table.
  275. 2003-06-26 Lluis Sanchez Gual <[email protected]>
  276. * Hashtable.cs: Fixed bug when serializing and deserializing
  277. a hashtable from which one element has been deleted. The Object instance
  278. used as a removed marker is not detected as a such, since the
  279. serializer creates a different instace.
  280. 2003-06-13 Herve Poussineau <[email protected]>
  281. * SortedList.cs: Can enumerate on DictionaryEntries, not only on
  282. keys on values. Enumerate by default on DictionaryEntries.
  283. 2003-06-12 Duncan Mak <[email protected]>
  284. * Hashtable.cs (constructor):
  285. if loadFactor equals Single.NaN, then throw an
  286. ArgumentOutOfRangeException.
  287. if we set capacity to be too big (ie. capacity / loadFactor is
  288. greater than Int32.MaxValue), then we throw an ArgumentException.
  289. 2003-06-11 Duncan Mak <[email protected]>
  290. * SortedList.cs: Oi! What a mess.
  291. If the list was constructed using the null-param constructor, and
  292. it tries to set it to a size lower than the default, let it do so.
  293. If the list was constructed with a specific size, and it tries to
  294. set it to a size lower than the specified size, set it to the
  295. default size.
  296. (IndexOfValue): Clean up the code somewhat, make it allow for
  297. values to be null.
  298. 2003-06-08 Ben Maurer <[email protected]>
  299. * ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
  300. checking
  301. 2003-06-07 Ben Maurer <[email protected]>
  302. * Stack.cs: Contains (null) works correctly. We never have the
  303. array sized less than 16, so that the doubling logic works no
  304. matter what. The enumerator is IClonable, like in ms. The
  305. Enumerator correctly throws an exception if Current is called
  306. before the enumerator is started. We now pass all the Rotor tests
  307. for this file!
  308. 2003-06-07 Gonzalo Paniagua Javier <[email protected]>
  309. * Stack.cs: fixed Clone ().
  310. 2003-06-04 Ben Maurer <[email protected]>
  311. * DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
  312. failures
  313. 2003-06-04 Gonzalo Paniagua Javier <[email protected]>
  314. * ArrayList.cs: nullify the array in Clear ().
  315. * Queue.cs: nullify the array in Dequeue ().
  316. * Stack.cs: nullify the array in Pop ().
  317. 2003-06-02 Ben Maurer <[email protected]>
  318. * Queue.cs: Added argument checking in constructors according to
  319. specs. Also changed default size to 32 as required by the specs.
  320. 2003-05-31 Ben Maurer <[email protected]>
  321. * BitArray.cs: Rewrote, as it was failing most of the Rotor
  322. tests. It now passes them 100%. Also fixes bug #43667.
  323. 2003-05-03 Ben Maurer <[email protected]>
  324. * ArrayList.cs
  325. Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.
  326. 2003-05-03 Ben Maurer <[email protected]>
  327. * ArrayList.cs
  328. Added methods to support IList wrappers
  329. 2003-04-22 Gonzalo Paniagua Javier <[email protected]>
  330. * ArrayList.cs: patch from [email protected] (Bernie Solomon)
  331. that fixes bug #41684.
  332. 2003-04-15 Eduardo Garcia Cebollero <[email protected]>
  333. * CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
  334. like MS.NET) and implemented the
  335. CaseInsensitiveComparerTest(culture) constructor.
  336. 2003-03-05 Gonzalo Paniagua Javier <[email protected]>
  337. * Queue.cs: fixed bug #39046.
  338. 2003-02-15 Pedro Martnez Juli <[email protected]>
  339. * Hashtable.cs: Make hashtable serializable (at least with binary
  340. formatter). This process was started by the Hashtable maintainer.
  341. 2003-02-09 Gonzalo Paniagua Javier <[email protected]>
  342. * ArrayList.cs: fixed setSize (!).
  343. 2003-01-31 Zoltan Varga <[email protected]>
  344. * ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
  345. here, since RemoveAt raises a different exception than RemoveRange
  346. when the index is out-of-range. Fixes the ArrayList unit tests.
  347. * ArrayList.cs (RemoveRange): fixed indentation.
  348. 2003-01-12 Varga Zoltan <[email protected]>
  349. * ArrayList.cs (RemoveRange): Patch for allowing zero-size
  350. removal at the end of a list. It also cleans up the argument
  351. checking code so the raised exceptions have the same message as
  352. under MS.NET.
  353. 2003-01-10 Duncan Mak <[email protected]>
  354. * ArrayList.cs (Insert): Patch from Zoltan
  355. ([email protected]).
  356. 2002-10-27 Gonzalo Paniagua Javier <[email protected]>
  357. * Hashtable.cs: add the key to the error message when
  358. 'key duplication'.
  359. 2002-10-15 Vladimir Vukicevic <[email protected]>
  360. * Queue.cs: update new capacity in grow(), preventing queue from
  361. constantly looping over old elements in Dequeue(). Also use
  362. capacity instead of contents.Length in Enqueue().
  363. 2002-09-24 Nick Drochak <[email protected]>
  364. * ArrayList.cs: Make enumerator throw exception if the ArrayList is
  365. mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
  366. this was passed as parameter.
  367. 2002-08-29 Gonzalo Paniagua Javier <[email protected]>
  368. * ArrayList.cs: fixed bug #29658.
  369. 2002-08-24 Gonzalo Paniagua Javier <[email protected]>
  370. * ArrayList.cs:
  371. * BitArray.cs:
  372. * CaseInsensitiveComparer.cs:
  373. * CaseInsensitiveHashCodeProvider.cs:
  374. * IEnumerable.cs:
  375. * Queue.cs: misc. fixes based on class status page.
  376. 2002-07-22 Tim Coleman <[email protected]>
  377. * CaseInsensitiveHashCodeProvider.cs: Added missing constructor
  378. which was breaking System.Web build on linux
  379. 2002-07-05 Sergey Chaban <[email protected]>
  380. * SortedList.cs: Implemented thread-safe wrapper. Changed some
  381. args to camelCase.
  382. 2002-07-02 Nick Drochak <[email protected]>
  383. * SortedList.cs: Constructors should use the capacity given regardless
  384. how small. After a Clear() the Capacit should be 16. Since a Dictionary
  385. might be used in the constructor, make sure we trap exceptions thrown
  386. by the Comparer, like in Add().
  387. 2002-06-30 Nick Drochak <[email protected]>
  388. * SortedList.cs: Many fixed. A lot of checking for null and throwing
  389. exceptions. A few logic bugs fixed as well
  390. 2002-06-25 Nick Drochak <[email protected]>
  391. * Queue.cs (CopyTo): Fix logic for copying the circular array.
  392. (Enqueue): Use actual length of array to determine when to grow
  393. (QueueEnumerator) Fixed Current to use array length, not capacity, and
  394. fixed off-by-one errror in MoveNext().
  395. Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <[email protected]>
  396. * ArrayList.cs: fixed RemoveAt() implementation.
  397. 2002-05-27 Nick Drochak <[email protected]>
  398. * ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
  399. fix check of parameters sent to make sure we don't search beyond the
  400. beginning of the list.
  401. (ListWrapper): Throw exception if called with null.
  402. We now pass all unit tests.
  403. 2002-05-23 Duncan Mak <[email protected]>
  404. * ArrayList.cs (Wrapper): Preliminary implementation of
  405. ArrayList.Wrapper (IList).
  406. 2002-05-22 Martin Baulig <[email protected]>
  407. * ArrayList.cs: Made count, capacity and dataArray the first three
  408. fields in the class. They're read by the reflection library.
  409. 2002-05-21 Lawrence Pit <[email protected]>
  410. * ArrayList.cs: Fixed bug where a capacity of 0 could be reached,
  411. thereby causing problems when trying to add elements.
  412. 2002-05-06 Duncan Mak <[email protected]>
  413. * Queue.cs (TrimToSize): Implemented.
  414. 2002-05-05 Nick Drochak <[email protected]>
  415. * ArrayList.cs: Throw RankException when constructing from a
  416. multi-dimensional array. Confirmed behavior from MS.NET
  417. Thu May 2 15:18:11 CEST 2002 Paolo Molaro <[email protected]>
  418. * ArrayList.cs: make mcs compile again: it's allowed to
  419. call arraylist.CopyTo(array, 0) when the length of the array
  420. is also 0.
  421. Wed May 1 17:05:40 CEST 2002 Paolo Molaro <[email protected]>
  422. * SortedList.cs: fix RemoveAt () to use the correct length in
  423. Array.Copy.
  424. 2002-05-01 Nick Drochak <[email protected]>
  425. * ArrayList.cs (Add & AddRange) : Throw exceptions where needed.
  426. 2002/05/01 Nick Drochak <[email protected]>
  427. * ArrayList.cs (CopyTo) : Check parameters and throw exceptions
  428. where needed.
  429. 2002/04/30 Nick Drochak <[email protected]>
  430. * ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
  431. (InsertRange) : Implement.
  432. (SetRange) : Implement.
  433. 2002-04-30 Nick Drochak <[email protected]>
  434. * ArrayList.cs (TrimToSize) : Implement.
  435. 2002-04-28 Duncan Mak <[email protected]>
  436. * ArrayList.cs (InsertRange):
  437. (SetRange):
  438. (Remove):
  439. (TrimToSize): Throw exceptions where needed.
  440. 2002-04-29 Nick Drochak <[email protected]>
  441. * Hashtable.cs (CopyTo): Throw exceptions where needed.
  442. 2002-04-28 Duncan Mak <[email protected]>
  443. * ArrayList.cs (ReadOnly):
  444. (IList.ReadOnly): Implemented.
  445. (Synchronized):
  446. (IList.Synchronized): Implemented.
  447. (ixedSize):
  448. (IList.FixedSize): Implemented.
  449. 2002-03-24 Duncan Mak <[email protected]>
  450. * SortedList.cs (Synchronized): Stubbed out a missing method
  451. pointed out by Jakk Simm's test suite.
  452. 2002-03-14 Nick Drochak <[email protected]>
  453. * ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
  454. other FixedSize() methods returns an IList.
  455. 2002-03-13 Duncan Mak <[email protected]>
  456. * ArrayList.cs (FixedSize): Changed the return type to IList if
  457. the argument is an IList.
  458. (Synchronized): Ditto here.
  459. 2002-03-08 Sergey Chaban <[email protected]>
  460. * Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
  461. Removed unused code from static constructor.
  462. GetObjectData () - Version is the same as modificationCount.
  463. 2002-02-20 Nick Drochak <[email protected]>
  464. * ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
  465. by Bucky's tests. Implement a couple of things that were left undone.
  466. Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <[email protected]>
  467. * ArrayList.cs: Dick's fix to contructor.
  468. 2002-02-07 Duncan Mak <[email protected]>
  469. * Hashtable.cs: Implemented parts of the ISerializable
  470. interface. GetObjectData () is good, but serialization constructor
  471. needs some more love.
  472. Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <[email protected]>
  473. * Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.
  474. 2002-01-04 Ravi Pratap <[email protected]>
  475. * Correct name to MonoTODO everywhere.
  476. 2002-01-04 Ravi Pratap <[email protected]>
  477. * ArrayList.cs : Setting an index does not implicitly
  478. extend the arraylist : remove FIXME.
  479. Decorate incomplete elements with the TODO attribute.
  480. * BitArray.cs : Insert TODO attributes where appropriate.
  481. * CaseInsensitiveHashcodeProvider.cs: Ditto.
  482. * Hashtable.cs, SortedList.cs : Ditto.
  483. Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <[email protected]>
  484. * ArrayList.cs: implemented AddRange(), CopyTo().
  485. 2001-11-19 Miguel de Icaza <[email protected]>
  486. * DictionaryBase.cs: Implemented.
  487. Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <[email protected]>
  488. * ArrayList.cs: implement ArrayListEnumerator.
  489. * Hashtable.cs: hardcode the prime number table.
  490. 2001-11-06 Nick Drochak <[email protected]>
  491. * Queue.cs: Fixes from Ricardardo. QueueTest also updated.
  492. 2001-11-04 Nick Drochak <[email protected]>
  493. * Queue.cs: Fixed small syntax errors that were preventing the compile.
  494. I changed the build file to include Queue.cs as well.
  495. 2001-11-04 Nick Drochak <[email protected]>
  496. * ArrayList.cs: Fixed "off by one" error when shifting left the array when
  497. items are removed.
  498. * CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
  499. hook methods to the RemoveAt() method.
  500. 2001-11-04 Nick Drochak <[email protected]>
  501. * ArrayList.cs: Added private enumerator class and make GetEnumerator()
  502. methods return an instance of it.
  503. Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <[email protected]>
  504. * ArrayList.cs: fix Insert () to check capacity, not count.
  505. Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <[email protected]>
  506. * DictionaryEntry.cs: added.
  507. 2001-08-10 Dietmar Maurer <[email protected]>
  508. * common.src: removed duplicate entries
  509. 2001-08-08 Nick Drochak <[email protected]>
  510. * ReadOnlyCollectionBase.cs: Initialized private member.
  511. * CollectionBase.cs: Initialized private member.
  512. * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
  513. * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
  514. * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
  515. 2001-08-08 Nick Drochak <[email protected]>
  516. * CollectionBase.cs: Add
  517. * ReadOnlyCollectionBase.cs: Add
  518. * CollectionBaseTest.cs: Add
  519. * ReadOnlyCollectionBaseTest.cs: Add
  520. 2001-07-31 Garrett Rooney <[email protected]>
  521. * StackTest.cs: Add Test case for System.Collections.Stack.
  522. Contributed by Chris Hynes <[email protected]>
  523. 2001-07-30 Garrett Rooney <[email protected]>
  524. * Stack.cs: Clone() doesn't need to check if it's synchronized, since
  525. we override it in SyncStack anyway...
  526. * Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to
  527. avoid using massive amounts of memory that are not necessary. We only
  528. drop to half the current size, which I hope will avoid the 'ping-pong'
  529. effect.
  530. * Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly
  531. instead of just returning false, since we may have a ReadOnly wrapper
  532. in the future (although i can't imagine why). Thanks to David
  533. Menestrina <[email protected]> for pointing this out.
  534. 2001-07-23 Sergey Chaban <[email protected]>
  535. * Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
  536. From now, Clear() increases modification count.
  537. Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
  538. instead of hcp.GetHashCode(key). This was resulted in the
  539. insanely long lookup times when HashCodeProvider was used to
  540. construct Hashtable. Added thread-safe wrapper.
  541. 2001-07-16 David Menestrina <[email protected]>
  542. * BitArray.cs: Add
  543. * BitArrayTest.cs: Add
  544. 2001-07-18 Miguel de Icaza <[email protected]>
  545. * IDictionary.cs (Collections): IDictionary implements ICollection
  546. as well. Thanks Sergey!
  547. 2001-07-18 Garrett Rooney <[email protected]>
  548. * Stack.cs Removed unnecessary locking from many methods of
  549. SyncStack, removed SyncEnumerator because it was unnecessary,
  550. added a modCount member to Stack and Stack.Enumerator, to
  551. ensure that the Stack has not been modified out form under the
  552. Enumerator, and changed the Enumerator to use a reference to the
  553. stack rather than copying over the contents array.
  554. 2001-07-17 David Menestrina <[email protected]>
  555. * Added implementation of BitArray.
  556. 2001-07-17 Miguel de Icaza <[email protected]>
  557. * Hashtable.cs: Removed call to d.Count in the Hashtable
  558. constructor that takes an IDictionary as IDictionary does not
  559. provide a Count field.
  560. 2001-07-15 Sean MacIsaac <[email protected]>
  561. * IDictionary.cs: Clear was clear.
  562. 2001-07-13 Miguel de Icaza <[email protected]>
  563. * All files: Renamespace things to System.
  564. 2001-07-05 Vladimir Vukicevic <[email protected]>
  565. * ArrayList.cs: initial checkin and implementation
  566. * ICollection.cs, IComprarer.cs, IDictionary.cs,
  567. IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
  568. IList.cs: initial checkin