OrderedCollection.st
changeset 24894 09ca874a6160
parent 24892 2213eb56e0c7
child 25351 30b332af1f33
--- a/OrderedCollection.st	Sat Nov 09 10:42:57 2019 +0100
+++ b/OrderedCollection.st	Sat Nov 09 15:30:46 2019 +0100
@@ -597,26 +597,26 @@
 
 addAll:aCollection beforeIndex:index
     "insert all elements of the argument, anObject to become located at index.
-     The collection may be unordered, but then order of the sliced-in elements
+     The collection may be unordered, but then the order of the sliced-in elements
      is undefined.
      Return the receiver."
 
     |idx count|
 
     aCollection isSequenceable ifTrue:[
-	"/ we are lucky - that thing can count & do bulk copies
-
-	count := aCollection size.
-	idx := self makeRoomAtIndex:(index + firstIndex - 1) for:count.
-	"/ notice: the above may change firstIndex
-	contentsArray replaceFrom:idx to:(idx + count - 1) with:aCollection startingAt:1.
-	^ self
+        "/ we are lucky - that thing can count & do bulk copies
+
+        count := aCollection size.
+        idx := self makeRoomAtIndex:(index + firstIndex - 1) for:count.
+        "/ notice: the above may change firstIndex
+        contentsArray replaceFrom:idx to:(idx + count - 1) with:aCollection startingAt:1.
+        ^ self
     ].
 
     idx := index.
     aCollection do:[:element |
-	self add:element beforeIndex:idx.
-	idx := idx + 1.
+        self add:element beforeIndex:idx.
+        idx := idx + 1.
     ].
 
     "
@@ -669,6 +669,42 @@
     "Created: / 30-07-2018 / 11:15:05 / Stefan Vogel"
 !
 
+addAllFirst:aCollection
+    "insert all elements of the argument, aCollection at the beginning
+     of the receiver. Returns the argument, aCollection."
+
+    self addAll:aCollection beforeIndex:1.
+    ^ aCollection
+
+    "
+     |c|
+     c := #(1 2 3 4) asOrderedCollection.
+     c addAllFirst:#(10 20 30).
+     c                        
+    "
+    "
+     |c|
+     c := #(1 2 3 4) asOrderedCollection.
+     c addAllFirst:#().
+     c   
+    "
+
+    "
+     |c|
+     c := #() asOrderedCollection.
+     c addAllFirst:#(10 20 30).
+     c   
+    "
+    "
+     |c|
+     c := #() asOrderedCollection.
+     c addAllFirst:#().
+     c   
+    "
+
+    "Modified: / 12.11.1997 / 17:58:05 / cg"
+!
+
 addFirst:anObject
     "add the argument, anObject to the beginning of the collection.
      Return the argument, anObject."
@@ -1824,7 +1860,6 @@
 ! !
 
 
-
 !OrderedCollection methodsFor:'private'!
 
 containerClass