Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ChangeLog « System.Collections « corlib « class « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a4f41200ed258289622bd2d4bed3a4a2235c28bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932

Tue Feb 28 14:16:25 CET 2006 Paolo Molaro <lupus@ximian.com>

	* BitArray.cs: reintroduce optimization carelessly removed by
	Robitaille.

2006-02-03  Sebastien Robitaille <sebastien.robitaille@croesus.com>

	* BitArray.cs: Renamed members for interoperability with MS. 

Tue Jan 24 18:24:00 CET 2006 Paolo Molaro <lupus@ximian.com>

	* BitArray.cs: optimize bit access by removing expensive
	div/rem ops.

2006-01-04  Sebastien Pouliot  <sebastien@ximian.com>

	* Hashtable.cs: Mark all inner classes as [Serializable] to match MS
	behaviour. Fix bug #76300.

2005-12-19  Sebastien Pouliot  <sebastien@ximian.com>

	* ArrayList.cs: Fix default capacity under 2.0 (and unit tests under 
	MS 2.0).

2005-12-07  Sebastien Pouliot  <sebastien@ximian.com>

	* SortedList.cs: Removed check for IComparable in ctor (fixed bug 
	#76750). Removed unused private method. Added more useful info (the 
	duplicate key) to an exception.

2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>

	* CaseInsensitiveHashCodeProvider: Serialization is now compatible 
	with MS. Removes the last TODO for 1.1 in this namespace :-)

2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>

	* Comparer.cs: Added GetObjectData method to implement ISerializable.

2005-09-29  Miguel de Icaza  <miguel@novell.com>

	* Add ComVisible(true) to all the classes that needed it.

	* Removed documentation from DictionaryBase.cs and moved it to
	Monodoc. 

	* ArrayList.cs: Fixed signature for constructor, parameter names
	are normative.

	* CollectionBase.cs: Add a couple of missing methods. 

2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>

	* Hashtable.cs : SyncHashtable.GetEnumerator() returned keys instead
	  of entries (DictionaryEntry). Fixed bug #75790.

2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>

	* SortedList.cs : Even though the key/value pair being set are
	  identical to the existing one, it causes snapshot out of sync.
	  Fixed bug #59694.

2005-07-21  Lluis Sanchez Gual  <lluis@novell.com>

	* CollectionBase.cs: Lazily create the inner list. MS.NET does
	it and we need to do the same for the sake of serialization
	interoperability. Fixes bug #75575. 

2005-07-17  Florian Gross  <flgr@ccan.de>

	* ArrayList.cs: pass along index offset in RangedArrayList:ToArray.
	Fixes bug #75545

2005-06-23  Ben Maurer  <bmaurer@ximian.com>

	* Queue.cs: Use the enumerator rather than copy to in the
	ctor. This makes us more compat with msft, for example, when
	passing a bit array

	* Stack.cs: ditto

2005-06-23  Martin Baulig  <martin@ximian.com>

	* IKeyComparer.cs: Removed.

2005-06-12  David Waite  <dwaite@gmail.com>

	* Hashtable.cs: make prime-related functions internal so generic
	Dictionary can use them.
	* IEqualityComparer.cs: add non-generic IEqualityComparer interface

2005-06-06  Zoltan Varga  <vargaz@freemail.hu>

	* Hashtable.cs: Add some missing 2.0 attributes.

2005-05-26  Ben Maurer  <bmaurer@ximian.com>

	* Queue.cs (grow): fix 61919.

2005-05-09  Atsushi Enomoto  <atsushi@ximian.com>

	* Stack.cs : empty_stack.CopyTo(empty_array, 0) should be allowed.

2005-02-21  Zoltan Varga  <vargaz@freemail.hu>

	* Hashtable.cs: Add net 2.0 ReliabilityContractAttributes.

2005-02-19  Kazuki Oikawa  <kazuki@panicode.com>

	* SortedList.cs, Stack.cs: Reverse the order in the Equals calls.

2004-12-21  Ben Maurer  <bmaurer@ximian.com>

	* Hashtable.cs (get_Item): duplicate Find here, as we can
	specialize a few things. This gives me 7% back.
	(Find) Use break rather than return -1. Saves a bit of code.
	
	* Hashtable.cs (GetHash): Avoid a method call. Also, don't store
	the this.hcpRef in a variable. This will create another register
	which must be pushed on the stack. It is better to just reference
	the variable again. hcpRef.GetHashCode (key) is the slow path
	anyways, so an extra variable reference here doesn't hurt
	(KeyEquals): ditto.

	This gives me a few % back in a raw benchmark.

2004-12-20  Ben Maurer  <bmaurer@ximian.com>

	* Hashtable.cs (Find): Some minor optimizations here.
	
	* Hashtable.cs: Remove GetImpl and inline it.

	* Hashtable.cs (Find): Before calling KeyEquals, check to see if k
	== key (ie, they are the same pointer). In many cases, this will
	avoid two virtual calls. This gives me 1% on mcs bootstrap (!!!!)

	* Hashtable.cs (Find): Make `i' a uint rather than an int. This
	avoids having a long compare.

2004-12-16  Lluis Sanchez Gual  <lluis@novell.com>

	* Hashtable.cs: Check for null serialization info in OnDeserialization.
	A hashtable subclass can fully override the constructor, so
	serializationInfo would be null in this case. Fixes bug #70698.

2004-12-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs: don't initialize _items twice. Closes bug #70620.

2004-12-16  Lluis Sanchez Gual  <lluis@novell.com>

	* Hashtable.cs: Add deserialized elements in OnDeserialization, since
	when the serialization constructor is called, some of the elements
	may not yet be fully deserialized. This fixes bug #70570.

2004-10-08  Raja R Harinath  <rharinath@novell.com>

	* CaseInsensitiveHashCodeProvider.cs (GetHashCode): When culture
	is not invariant, avoid an icall on every character.

2004-07-21  Geoff Norton <gnorton@customerdna.com>

	* Hashtable.cs: lock the SyncRoot when Cloning a Synchronized hashtable to avoid
          a snapshot out of sync error.

2004-07-21  Duncan Mak  <duncan@ximian.com>

	* DictionaryBase.cs: Rename the dictionary field to hashtable,
	which causes a serialization interop bug. Fixes bug #61721.

2004-06-18  Ben Maurer <bmaurer@ximian.com>

	* IKeyComparer.cs: v2 class

2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>

	* CaseInsensitiveComparer.cs: added TODO for serialization
	* CaseInsensitiveHashCodeProvider.cs: added TODO for serialization
	* SortedList.cs: added TODO for serialization
	* Stack.cs: added TODO for serialization

2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>

	* Hashtable.cs: Compare index and length in CopyTo only when length > 0.

2004-06-14  Lluis Sanchez Gual  <lluis@ximian.com>

	* ArrayList.cs: Avoid endless loop in Insert when the current size is 0.

2004-06-08  Lluis Sanchez Gual  <lluis@ximian.com>

	* ReadOnlyCollectionBase.cs: Renamed internal variable to make serialization 
	  compatible with MS.NET.

2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>

	* SortedList.cs: Fixed case where the initial capacity was set to 0.

2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>

	* Hashtable.cs: Added ArgumentNullException in GetObjectData.

2004-05-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ChangeLog:
	* Comparer.cs: reverted last 2 patches from Gert Driesen. Totally wrong.
	I wonder why.

2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)

       * Compare.cs: ISerializable should only be implemented
       for NET_1_1 profile

2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)

       * Compare.cs: Implemented ISerializable, fixes public API

2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>

	* Hashtable.cs: Cloned synchronized Hashtables are now synchronized.
	* Queue.cs: Fixed case where we could still get Current after the last 
	MoveNext. Fixed Count for Queue.Synchronize (Queue.Synchronize (q)).
	* SortedList.cs: Added missing ICloneable support to internal 
	enumerator. Added Capacity to the synchronized version of SortedList.
	Setting Capacity to 0 returns it to it's default value (16).

2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>

	* ArrayList.cs: Fixed possible integer overflows.

2004-05-24  Lluis Sanchez Gual  <lluis@ximian.com>

	* Hashtable.cs: Renamed internal class to make serialization compatible
	  with MS.NET.

2004-05-10  Gert Driesen (drieseng@users.sourceforge.net)
	* Hashtable.cs: marked EnumeratorMode private
	* SortedList.cs: marked EnumeratorMode private

2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* Comparer.cs: ensure culture is set to null , removed
	  static constructor, removed unneccesary checks

2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* CaseInsensitiveComparer.cs: Fix the default constructor (needs to
	  set CurrentCulture, ensure culture is set to null for invariant case,
	  construct early
	* Comparer.cs: Restyle, change lineendings

2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* CaseInsensitiveHashCodeProvider.cs
	* CaseInsensitiveComparer.cs: Change lineendings
	* CaseInsensitiveComparer.cs: Restyle

2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* BitArray.cs: Fix parameter names
	* CaseInsensitiveHashCodeProvider.cs: Fix signature
	* DictionaryEntry.cs: Fix parameter names
	* Hashtable.cs: Fix signatures
	* SortedList.cs: Fix signatures

2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* CaseInsensitiveHashCodeProvider.cs: Fix the default constructor (needs to
	  set CurrentCulture, Add null check to other constructor, Call correct function
	  for invariant case, ensure culture is set to null for invariant case, removed
	  static constructor, made invariant version available as internal in .Net 1.0

2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>

	* CaseInsensitiveHashCodeProvider.cs: If the culture is null, don't use
	  Char.ToLower(c,culture), since it does not accept null as culture.

2004-04-20  Lluis Sanchez Gual  <lluis@ximian.com>

	* Queue.cs: Renamed internal membesr to match MS.NET (to allow serialization
	interoperability). I also had to make some changes in the implementation:
	I added a field _tail that points at the first free position in the array, and
	changed the type of growFactor, which is now an int (its value is the old
	growFactor * 100).

2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>

	* Comparer.cs: Made constructor public.

2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>

	* CaseInsensitiveHashCodeProvider.cs: Use the CultureInfo of the calling
	thread, not the one of the thread that created the instance.
	* Comparer.cs: Added DefaultInvariant property and missing constructor.
	Use the specified culture info to compare strings.

2004-03-30  Lluis Sanchez Gual <lluis@ximian.com>

	* CaseInsensitiveHashCodeProvider.cs: Added support for CultureInfo.
	  Implemented property DefaultInvariant.

2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>

	* CollectionBase.cs: Renamed internal arraylist member to match MS.NET
	  (to allow serialization interoperability).

2004-03-18  David Sheldon <dave-mono@earth.li>

  * Hashtable.cs: Serialise/Deserialise to two arrays of 
   keys/values. This will match what MS.NET appears to be
   doing.

2004-02-12  Jackson Harper  <jackson@ximian.com>

	* SortedList.cs: Only .et 1.0 sets the capacity to a min of
	initial size.
	
2004-01-13  Lluis Sanchez Gual <lluis@ximian.com>

	* Hashtable.cs: Added serialization support to SynchedHashtable. This
	fixes bug #52741.

2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Hashtable.cs: fix Clone. Closes bug #52740. Patch by Benjamin Jemlich
	(pcgod@gmx.net).

2003-12-26 Ben Maurer  <bmaurer@users.sourceforge.net>

	* ArrayList.cs: Add class `SimpleEnumerator' this handles the
	.GetEnumerator We are able to remove fields by doing this, the
	sizeof the simple version is 75% of that of the complex one, so we
	get a pretty nice saving.

2003-12-23  Lluis Sanchez Gual <lluis@ximian.com>

	* ArrayList.cs: Renamed private fields m_Count, m_Data and
	m_StateChanges to _size, _items and _version, to make it compatible with
	MS.NET (needed for remoting interoperability). This fixes bug #52438.

2003-12-01  Dick Porter  <dick@ximian.com>

	* CaseInsensitiveComparer.cs: Construct the default comparers when
	they're needed, to avoid a dependency loop with CultureInfo's
	constructor.

2003-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Queue.cs: patch from Carlos Barcenilla.
	public class Queue
		- method: ICollection.Clone()
		- Optimized. Removed unneeded instructions.
		- method: public static Queue Synchronized (Queue queue)
		- ArgumentNullException.ParamName must be "queue", not null.
		- method: public virtual void TrimToSize()
		- Must increment modCount.

	private class SyncQueue
		- method: public override object Clone ()
		- Must return a synchronized (SyncStack) instance.
		- method: public override void TrimToSize ()
		- Not implemented.

2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* IEnumerator.cs: Added missing attribute

2003-11-12  Miguel de Icaza  <miguel@ximian.com>

	* CaseInsensitiveComparer.cs: Add missing method.

2003-11-10  Zoltan Varga  <vargaz@freemail.hu>

	* Stack.cs: Applied patch from Carlos A. Barcenilla to fix minor
	bugs (#50755).

2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>

	* SortedList.cs: Added [Serializable] to Slot class. This fixes bug #50484.

2003-10-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* System.Collections/Hashtable.cs: patch from Carlos A.
	Barcenilla (barce@frlp.utn.edu.ar) that includes some fixes for
	Hashtable + NUnit2 tests.

2003-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Queue.cs: nullify the array in Clear.

2003-09-26  Zoltan Varga  <vargaz@freemail.hu>

	* Hashtable.cs: Remove empty static constructor since it prevents this
	class from being beforefieldinit.

2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CaseInsensitiveHashCodeProvider.cs: small speed improvement.

2003-08-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Stack.cs: patch by JoergR@voelcker.com (Joerg Rosenkranz) that fixes
	bug #47789.

2003-08-20  Duncan Mak  <duncan@ximian.com>

	* Hashtable.cs (PutImpl): Fix my previous checkin, see details
	posted on bug #47692.

	I really hope I don't mess up this time, because, if I do again,
	it will be really embarrassing.

2003-08-17  Duncan Mak  <duncan@ximian.com>

	* Hashtable.cs (PutImpl): Patch from Luca Barbieri <lb@lb.ods.org>.
	Currently Hashtable.PutImpl has an incorrect test which causes the
	key chain search to terminate as soon as a free slot is found,
	causing key duplication.

	This fixes bug #47692.

2003-08-11  Duncan Mak  <duncan@ximian.com>

	* DictionaryBase.cs: Applied patch from Carlos Barcenilla
	(barce@frlp.utn.edu.ar).
	
	(Idictionary.Add): Added OnValidate, and undo the transaction if
	OnInsertCompleteFails.

	(Indexer set): MS Implementation does not call OnInsert and undoes
	if OnSetComplete throws an exception
	(Indexer get): return value is obtained after calling OnGet.

	(IDictionary.Remove): Call to OnValidate added. If key does not
	exists calls OnValidate, OnRemove and OnRemoveComplete.

	(protected IDictionary Dictionary get): Should return itself, not
	the inner hashtable.

	This fixes bug #47460.

2003-08-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CollectionBase.cs: applied patch from Carlos Barcenilla
	(barce@frlp.utn.edu.ar).

2003-08-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs: added / so that gvim syntax highlight doesn't go crazy.
	* CollectionBase.cs: fixed several bugs reported by Carlos Barcenilla
	(barce@frlp.utn.edu.ar). Most of the patch is also his.

2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs: fixed EnsureCapacity when m_Data.Length is 0.

2003-07-29  Miguel de Icaza  <miguel@ximian.com>

	* ArrayList.cs: Deployed ArrayList from Tum;  Fixed iterator to
	allow nulls, and inline a few calls to make profiling more useful.

2003-07-24  Miguel de Icaza  <miguel@ximian.com>

	* ArrayList.cs: Removed MonoTODO.

2003-07-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Hashtable.cs: made SynchedHashtable serializable. Fixes bug #45918.
	Thanks to JoergR@voelcker.com (Joerg Rosenkranz).

2003-06-27  Duncan Mak  <duncan@ximian.com>

	* Hashtable.cs: Patch from PAF@design.ru, GetEnumerator should be
	returning DictionaryEntrys, instead of just the Key of the table.

2003-06-26  Lluis Sanchez Gual  <lluis@ximian.com>

	* Hashtable.cs: Fixed bug when serializing and deserializing
	  a hashtable from which one element has been deleted. The Object instance
	  used as a removed marker is not detected as a such, since the
	  serializer creates a different instace.

2003-06-13  Herve Poussineau  <hpoussineau@fr.st>

	* SortedList.cs: Can enumerate on DictionaryEntries, not only on
	keys on values. Enumerate by default on DictionaryEntries.

2003-06-12  Duncan Mak  <duncan@ximian.com>

	* Hashtable.cs (constructor):
	if loadFactor equals Single.NaN, then throw an
	ArgumentOutOfRangeException.

	if we set capacity to be too big (ie. capacity / loadFactor is
	greater than Int32.MaxValue), then we throw an ArgumentException.

2003-06-11  Duncan Mak  <duncan@ximian.com>

	* SortedList.cs: Oi! What a mess.

	If the list was constructed using the null-param constructor, and
	it tries to set it to a size lower than the default, let it do so.

	If the list was constructed with a specific size, and it tries to
	set it to a size lower than the specified size, set it to the
	default size.

	(IndexOfValue): Clean up the code somewhat, make it allow for
	values to be null.

2003-06-08  Ben Maurer <bmaurer@users.sourceforge.net>
	* ArrayList.cs, Hashtable.cs, SortedList.cs: Enumerator fixes, error
	checking

2003-06-07  Ben Maurer <bmaurer@users.sourceforge.net>
	* Stack.cs: Contains (null) works correctly. We never have the
	array sized less than 16, so that the doubling logic works no
	matter what. The enumerator is IClonable, like in ms. The
	Enumerator correctly throws an exception if Current is called
	before the enumerator is started. We now pass all the Rotor tests
	for this file!

2003-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Stack.cs: fixed Clone ().

2003-06-04  Ben Maurer <bmaurer@users.sourceforge.net>
	* DictionaryEntry.cs: Throw exception if key == null. Fixes Rotor
	failures

2003-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs: nullify the array in Clear ().
	* Queue.cs: nullify the array in Dequeue ().
	* Stack.cs: nullify the array in Pop ().

2003-06-02  Ben Maurer <bmaurer@users.sourceforge.net>
	* Queue.cs: Added argument checking in constructors according to
	specs. Also changed default size to 32 as required by the specs.

2003-05-31  Ben Maurer <bmaurer@users.sourceforge.net>
	* BitArray.cs: Rewrote, as it was failing most of the Rotor
	tests. It now passes them 100%. Also fixes bug #43667.

2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
* ArrayList.cs
	Made ArrayList.GetRange () make a wrapper around the array list, like Microsoft does. Fixes bug #39724.

2003-05-03 Ben Maurer <bmaurer@users.sourceforge.net>
* ArrayList.cs
	Added methods to support IList wrappers

2003-04-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs: patch from bernard@ugsolutions.com (Bernie Solomon)
	that fixes bug #41684.

2003-04-15 Eduardo Garcia Cebollero <kiwnix@yahoo.es>

	* CaseInsensitiveComparerTest.cs: Fixed Compare Method (now works
	like MS.NET) and implemented the
	CaseInsensitiveComparerTest(culture) constructor.

2003-03-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Queue.cs: fixed bug #39046.

2003-02-15  Pedro Martnez Juli  <yoros@wanadoo.es>

	* Hashtable.cs: Make hashtable serializable (at least with binary
	formatter). This process was started by the Hashtable maintainer.

2003-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs: fixed setSize (!).

2003-01-31  Zoltan Varga  <vargaz@freemail.hu>

	* ArrayList.cs (RemoveAt): duplicated the the code from RemoveRange
	here, since RemoveAt raises a different exception than RemoveRange
	when the index is out-of-range. Fixes the ArrayList unit tests.

	* ArrayList.cs (RemoveRange): fixed indentation.

2003-01-12  Varga Zoltan <vargaz@freemail.hu>

	* ArrayList.cs (RemoveRange): Patch for allowing zero-size
	removal at the end of a list. It also cleans up the argument
	checking code so the raised exceptions have the same message as
	under MS.NET.

2003-01-10  Duncan Mak  <duncan@ximian.com>

	* ArrayList.cs (Insert): Patch from Zoltan
	(Zoltan.2.Varga@nokia.com).

2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Hashtable.cs: add the key to the error message when
	'key duplication'.

2002-10-15  Vladimir Vukicevic  <vladimir@pobox.com>

	* Queue.cs: update new capacity in grow(), preventing queue from
	constantly looping over old elements in Dequeue(). Also use
	capacity instead of contents.Length in Enqueue().

2002-09-24  Nick Drochak  <ndrochak@gol.com>

	* ArrayList.cs: Make enumerator throw exception if the ArrayList is
	mutated (Insert, Delete, etc.). Also, fix bug in InsertRange() when
	this was passed as parameter.

2002-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs: fixed bug #29658.

2002-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ArrayList.cs:
	* BitArray.cs:
	* CaseInsensitiveComparer.cs:
	* CaseInsensitiveHashCodeProvider.cs:
	* IEnumerable.cs:
	* Queue.cs: misc. fixes based on class status page.

2002-07-22  Tim Coleman  <tim@timcoleman.com>
	* CaseInsensitiveHashCodeProvider.cs: Added missing constructor
		which was breaking System.Web build on linux

2002-07-05  Sergey Chaban <serge@wildwestsoftware.com>

	* SortedList.cs: Implemented thread-safe wrapper. Changed some
	args to camelCase.

2002-07-02  Nick Drochak  <ndrochak@gol.com>

	* SortedList.cs: Constructors should use the capacity given regardless 
	how small. After a Clear() the Capacit should be 16. Since a Dictionary
	might be used in the constructor, make sure we trap exceptions thrown
	by the Comparer, like in Add().

2002-06-30  Nick Drochak  <ndrochak@gol.com>

	* SortedList.cs: Many fixed. A lot of checking for null and throwing
	exceptions.  A few logic bugs fixed as well

2002-06-25   Nick Drochak  <ndrochak@gol.com>

	* Queue.cs (CopyTo): Fix logic for copying the circular array.
	(Enqueue): Use actual length of array to determine when to grow
	(QueueEnumerator) Fixed Current to use array length, not capacity, and
	fixed off-by-one errror in MoveNext().

Tue Jun 4 13:08:43 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* ArrayList.cs: fixed RemoveAt() implementation.

2002-05-27  Nick Drochak  <ndrochak@gol.com>

	* ArrayList.cs (LastIndexOf): Return -1 if searching for null, also
	fix check of parameters sent to make sure we don't search beyond the
	beginning of the list.
	(ListWrapper): Throw exception if called with null.
	We now pass all unit tests.

2002-05-23  Duncan Mak  <duncan@ximian.com>

	* ArrayList.cs (Wrapper): Preliminary implementation of
	ArrayList.Wrapper (IList).

2002-05-22  Martin Baulig  <martin@gnome.org>

	* ArrayList.cs: Made count, capacity and dataArray the first three
	fields in the class.  They're read by the reflection library.

2002-05-21  Lawrence Pit  <loz@cable.a2000.nl>

	* ArrayList.cs: Fixed bug where a capacity of 0 could be reached, 
	thereby causing problems when trying to add elements.

2002-05-06  Duncan Mak  <duncan@ximian.com>

	* Queue.cs (TrimToSize): Implemented.
	
2002-05-05  Nick Drochak  <ndrochak@gol.com>

	* ArrayList.cs: Throw RankException when constructing from a 
	multi-dimensional array. Confirmed behavior from MS.NET

Thu May 2 15:18:11 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* ArrayList.cs: make mcs compile again: it's allowed to
	call arraylist.CopyTo(array, 0) when the length of the array
	is also 0.

Wed May 1 17:05:40 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* SortedList.cs: fix RemoveAt () to use the correct length in
	Array.Copy.

2002-05-01  Nick Drochak  <ndrochak@gol.com>

	* ArrayList.cs (Add & AddRange) : Throw exceptions where needed.

2002/05/01  Nick Drochak <ndrochak@gol.com>

	* ArrayList.cs (CopyTo) : Check parameters and throw exceptions
	where needed.

2002/04/30  Nick Drochak <ndrochak@gol.com>

	* ArrayList.cs (Clear) : Throw exception if ReadOnly or FixedSize.
		(InsertRange) : Implement.
		(SetRange) : Implement.

2002-04-30  Nick Drochak  <ndrochak@gol.com>

	* ArrayList.cs (TrimToSize) : Implement.

2002-04-28  Duncan Mak  <duncan@ximian.com>

	* ArrayList.cs (InsertRange): 
	(SetRange):
	(Remove):
	(TrimToSize): Throw exceptions where needed.

2002-04-29  Nick Drochak  <ndrochak@gol.com>

	* Hashtable.cs (CopyTo): Throw exceptions where needed.

2002-04-28  Duncan Mak  <duncan@ximian.com>

	* ArrayList.cs (ReadOnly):
	(IList.ReadOnly): Implemented.

	(Synchronized):
	(IList.Synchronized): Implemented.

	(ixedSize):
	(IList.FixedSize): Implemented.

2002-03-24  Duncan Mak  <duncan@ximian.com>

	* SortedList.cs (Synchronized): Stubbed out a missing method
	pointed out by Jakk Simm's test suite.

2002-03-14  Nick Drochak  <ndrochak@gol.com>

	* ArrayList.cs (FixedSize(ArrayList)): should return an ArrayList. The
	other FixedSize() methods returns an IList.

2002-03-13  Duncan Mak  <duncan@ximian.com>

	* ArrayList.cs (FixedSize): Changed the return type to IList if
	the argument is an IList.
	(Synchronized): Ditto here.

2002-03-08  Sergey Chaban <serge@wildwestsoftware.com>

	* Hashtable.cs: Fixed ToPrime () bug. Removed ALLOC_GRAIN.
	Removed unused code from static constructor.
	GetObjectData () - Version is the same as modificationCount.

2002-02-20  Nick Drochak  <ndrochak@gol.com>

	* ArrayList.cs: Add MonoTODO's where necessary. Fix bugs discovered
	by Bucky's tests. Implement a couple of things that were left undone.

Mon Feb 11 19:49:25 CET 2002 Paolo Molaro <lupus@ximian.com>

	* ArrayList.cs: Dick's fix to contructor.

2002-02-07  Duncan Mak  <duncan@ximian.com>

	* Hashtable.cs: Implemented parts of the ISerializable
	interface. GetObjectData () is good, but serialization constructor
	needs some more love.

Sat Jan 5 15:56:54 CET 2002 Paolo Molaro <lupus@ximian.com>

	* Hashtable.cs: the IDictionaryEnumerator returns DictionaryEntries.

2002-01-04  Ravi Pratap  <ravi@ximian.com>

	* Correct name to MonoTODO everywhere.

2002-01-04  Ravi Pratap  <ravi@ximian.com>

	* ArrayList.cs : Setting an index does not implicitly
	extend the arraylist : remove FIXME.

	Decorate incomplete elements with the TODO attribute.

	* BitArray.cs : Insert TODO attributes where appropriate.

	* CaseInsensitiveHashcodeProvider.cs: Ditto.

	* Hashtable.cs, SortedList.cs : Ditto.
	
Thu Dec 13 20:17:08 CET 2001 Paolo Molaro <lupus@ximian.com>

	* ArrayList.cs: implemented AddRange(), CopyTo().

2001-11-19  Miguel de Icaza  <miguel@ximian.com>

	* DictionaryBase.cs: Implemented.

Wed Nov 14 16:45:49 CET 2001 Paolo Molaro <lupus@ximian.com>

	* ArrayList.cs: implement ArrayListEnumerator.
	* Hashtable.cs: hardcode the prime number table.

2001-11-06 Nick Drochak <ndrochak@gol.com>
	* Queue.cs: Fixes from Ricardardo.  QueueTest also updated.

2001-11-04 Nick Drochak <ndrochak@gol.com>
	* Queue.cs: Fixed small syntax errors that were preventing the compile.
	I changed the build file to include Queue.cs as well.

2001-11-04 Nick Drochak <ndrochak@gol.com>
	* ArrayList.cs: Fixed "off by one" error when shifting left the array when
	items are removed.

	* CollectionBase.cs: Added OnValidate(), OnRemove() and OnRemoveComplete()
	hook methods to the RemoveAt() method.

2001-11-04 Nick Drochak <ndrochak@gol.com>
	* ArrayList.cs: Added private enumerator class and make GetEnumerator()
	methods return an instance of it.

Tue Sep 25 18:52:48 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* ArrayList.cs: fix Insert () to check capacity, not count.

Tue Sep 25 16:54:54 CEST 2001 Paolo Molaro <lupus@ximian.com>

	* DictionaryEntry.cs: added.

2001-08-10  Dietmar Maurer  <dietmar@ximian.com>

	* common.src: removed duplicate entries

2001-08-08 Nick Drochak <ndrochak@gol.com>

         * ReadOnlyCollectionBase.cs: Initialized private member.
         * CollectionBase.cs: Initialized private member.
	 * common.src : Added ReadOnlyCollectionBase.cs and CollectionBase.cs
	 * /mcs/class/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt
	 * /mcs/makefile: Used $(SYSTEMROOT) instead of hard coded //c/winnt

2001-08-08 Nick Drochak <nick@jobdragon.com>

         * CollectionBase.cs: Add
         * ReadOnlyCollectionBase.cs: Add
         * CollectionBaseTest.cs: Add
         * ReadOnlyCollectionBaseTest.cs: Add

2001-07-31 Garrett Rooney <rooneg@electricjellyfish.net>

	* StackTest.cs: Add Test case for System.Collections.Stack.  
	Contributed by Chris Hynes <chrish@assistedsolutions.com>

2001-07-30 Garrett Rooney <rooneg@electricjellyfish.net>

	* Stack.cs: Clone() doesn't need to check if it's synchronized, since 
	we override it in SyncStack anyway...  

	* Stack.cs: Pop() now shrinks the array if we drop below 1/4 full, to 
	avoid using massive amounts of memory that are not necessary.  We only 
	drop to half the current size, which I hope will avoid the 'ping-pong' 
	effect.

	* Stack.cs: SyncStack.IsReadOnly should return stack.IsReadOnly 
	instead of just returning false, since we may have a ReadOnly wrapper 
	in the future (although i can't imagine why).  Thanks to David 
	Menestrina <dmenest@yahoo.com> for pointing this out.

2001-07-23  Sergey Chaban <serge@wildwestsoftware.com>

	*  Hashtable.cs: Fixed bug in Clear(), the Count wasn't zeroed.
           From now, Clear() increases modification count.
           Fixed HCP bug in GetHash(object) - hcp.GetHashCode() was used
           instead of hcp.GetHashCode(key). This was resulted in the
           insanely long lookup times when HashCodeProvider was used to
           construct Hashtable. Added thread-safe wrapper.

2001-07-16  David Menestrina <dmenest@yahoo.com>

         * BitArray.cs: Add
         * BitArrayTest.cs: Add

2001-07-18  Miguel de Icaza  <miguel@ximian.com>

	* IDictionary.cs (Collections): IDictionary implements ICollection
	as well.  Thanks Sergey!

2001-07-18  Garrett Rooney  <rooneg@electricjellyfish.net>

	* Stack.cs Removed unnecessary locking from many methods of 
	SyncStack, removed SyncEnumerator because it was unnecessary, 
	added a modCount member to Stack and Stack.Enumerator, to 
	ensure that the Stack has not been modified out form under the 
	Enumerator, and changed the Enumerator to use a reference to the 
	stack rather than copying over the contents array.

2001-07-17  David Menestrina  <dmenest@yahoo.com>

        * Added implementation of BitArray.

2001-07-17  Miguel de Icaza  <miguel@ximian.com>

	* Hashtable.cs: Removed call to d.Count in the Hashtable
	constructor that takes an IDictionary as IDictionary does not
	provide a Count field.

2001-07-15  Sean MacIsaac  <macisaac@ximian.com>

	* IDictionary.cs: Clear was clear.

2001-07-13  Miguel de Icaza  <miguel@ximian.com>

	* All files: Renamespace things to System.

2001-07-05  Vladimir Vukicevic  <vladimir@ximian.com>

	* ArrayList.cs: initial checkin and implementation

	* ICollection.cs, IComprarer.cs, IDictionary.cs,
	  IDictionaryEnumerator.cs, IEnumerable.cs, IHashCodeProvider.cs,
	  IList.cs: initial checkin