Browse Source

SequencableCollection >> reverseDo:

Herbert Vojčík 7 years ago
parent
commit
9b5e4c464f
3 changed files with 30 additions and 0 deletions
  1. 2 0
      API-CHANGES.txt
  2. 24 0
      src/Kernel-Collections.js
  3. 4 0
      src/Kernel-Collections.st

+ 2 - 0
API-CHANGES.txt

@@ -45,6 +45,8 @@
   + trait:
 + Collection >>
   + copyWithout:
++ SequenceableCollection >>
+  + reverseDo:
 + Array >>
   + asTraitComposition
 + amber/boot api >>

+ 24 - 0
src/Kernel-Collections.js

@@ -4512,6 +4512,30 @@ messageSends: ["remove:", "last"]
 }),
 $globals.SequenceableCollection);
 
+$core.addMethod(
+$core.method({
+selector: "reverseDo:",
+protocol: "enumerating",
+fn: function (aBlock){
+var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+$recv(self._reversed())._do_(aBlock);
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"reverseDo:",{aBlock:aBlock},$globals.SequenceableCollection)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: ["aBlock"],
+source: "reverseDo: aBlock\x0a\x09self reversed do: aBlock",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["do:", "reversed"]
+}),
+$globals.SequenceableCollection);
+
 $core.addMethod(
 $core.method({
 selector: "reversed",

+ 4 - 0
src/Kernel-Collections.st

@@ -1097,6 +1097,10 @@ do: aBlock
 	'>
 !
 
+reverseDo: aBlock
+	self reversed do: aBlock
+!
+
 with: anotherCollection do: aBlock
 	<inlineJS: '
 		self = self._numericallyIndexable();