|
@@ -4092,63 +4092,6 @@ messageSends: ["subclassResponsibility"]
|
|
|
}),
|
|
|
$globals.SequenceableCollection);
|
|
|
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "detect:ifNone:",
|
|
|
-protocol: "enumerating",
|
|
|
-fn: function (aBlock,anotherBlock){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-
|
|
|
- for(var i = 0; i < self.length; i++)
|
|
|
- if(aBlock._value_(self[i]))
|
|
|
- return self[i];
|
|
|
- return anotherBlock._value();
|
|
|
- ;
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock},$globals.SequenceableCollection)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: ["aBlock", "anotherBlock"],
|
|
|
-source: "detect: aBlock ifNone: anotherBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i = 0; i < self.length; i++)\x0a\x09\x09\x09if(aBlock._value_(self[i]))\x0a\x09\x09\x09\x09return self[i];\x0a\x09\x09return anotherBlock._value();\x0a\x09'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SequenceableCollection);
|
|
|
-
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "do:",
|
|
|
-protocol: "enumerating",
|
|
|
-fn: function (aBlock){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-
|
|
|
- for(var i=0; i < self.length; i++) {
|
|
|
- aBlock._value_(self[i]);
|
|
|
- }
|
|
|
- ;
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock},$globals.SequenceableCollection)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: ["aBlock"],
|
|
|
-source: "do: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=0; i < self.length; i++) {\x0a\x09\x09\x09aBlock._value_(self[i]);\x0a\x09\x09}\x0a\x09'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SequenceableCollection);
|
|
|
-
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "endsWith:",
|
|
@@ -4285,35 +4228,6 @@ messageSends: ["notNil", "indexOf:ifAbsent:"]
|
|
|
}),
|
|
|
$globals.SequenceableCollection);
|
|
|
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "indexOf:ifAbsent:",
|
|
|
-protocol: "accessing",
|
|
|
-fn: function (anObject,aBlock){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-
|
|
|
- for(var i=0; i < self.length; i++) {
|
|
|
- if($recv(self[i]).__eq(anObject)) {return i+1}
|
|
|
- };
|
|
|
- return aBlock._value();
|
|
|
- ;
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"indexOf:ifAbsent:",{anObject:anObject,aBlock:aBlock},$globals.SequenceableCollection)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: ["anObject", "aBlock"],
|
|
|
-source: "indexOf: anObject ifAbsent: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=0; i < self.length; i++) {\x0a\x09\x09\x09if($recv(self[i]).__eq(anObject)) {return i+1}\x0a\x09\x09};\x0a\x09\x09return aBlock._value();\x0a\x09'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SequenceableCollection);
|
|
|
-
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "indexOf:startingAt:",
|
|
@@ -4349,12 +4263,7 @@ var self=this,$self=this;
|
|
|
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
|
|
|
-
|
|
|
- for(var i=start - 1; i < self.length; i++){
|
|
|
- if($recv(self[i]).__eq(anObject)) {return i+1}
|
|
|
- }
|
|
|
- return aBlock._value();
|
|
|
- ;
|
|
|
+$self._subclassResponsibility();
|
|
|
return self;
|
|
|
|
|
|
}, function($ctx1) {$ctx1.fill(self,"indexOf:startingAt:ifAbsent:",{anObject:anObject,start:start,aBlock:aBlock},$globals.SequenceableCollection)});
|
|
@@ -4362,10 +4271,10 @@ return self;
|
|
|
},
|
|
|
|
|
|
args: ["anObject", "start", "aBlock"],
|
|
|
-source: "indexOf: anObject startingAt: start ifAbsent: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=start - 1; i < self.length; i++){\x0a\x09\x09\x09if($recv(self[i]).__eq(anObject)) {return i+1}\x0a\x09\x09}\x0a\x09\x09return aBlock._value();\x0a\x09'>",
|
|
|
+source: "indexOf: anObject startingAt: start ifAbsent: aBlock\x0a\x09self subclassResponsibility",
|
|
|
referencedClasses: [],
|
|
|
|
|
|
-messageSends: []
|
|
|
+messageSends: ["subclassResponsibility"]
|
|
|
}),
|
|
|
$globals.SequenceableCollection);
|
|
|
|
|
@@ -4570,33 +4479,6 @@ messageSends: ["at:"]
|
|
|
}),
|
|
|
$globals.SequenceableCollection);
|
|
|
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "single",
|
|
|
-protocol: "accessing",
|
|
|
-fn: function (){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-
|
|
|
- if (self.length == 0) throw new Error("Collection is empty");
|
|
|
- if (self.length > 1) throw new Error("Collection holds more than one element.");
|
|
|
- return self[0];;
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"single",{},$globals.SequenceableCollection)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: [],
|
|
|
-source: "single\x0a<inlineJS: '\x0a\x09if (self.length == 0) throw new Error(\x22Collection is empty\x22);\x0a\x09if (self.length > 1) throw new Error(\x22Collection holds more than one element.\x22);\x0a\x09return self[0];\x0a'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SequenceableCollection);
|
|
|
-
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "stream",
|
|
@@ -4666,63 +4548,6 @@ messageSends: ["at:"]
|
|
|
}),
|
|
|
$globals.SequenceableCollection);
|
|
|
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "with:do:",
|
|
|
-protocol: "enumerating",
|
|
|
-fn: function (anotherCollection,aBlock){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-
|
|
|
- $recv(anotherCollection)._first_(0);
|
|
|
- for(var i=0; i<self.length; i++) {
|
|
|
- aBlock._value_value_(self[i], anotherCollection[i]);
|
|
|
- }
|
|
|
- ;
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"with:do:",{anotherCollection:anotherCollection,aBlock:aBlock},$globals.SequenceableCollection)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: ["anotherCollection", "aBlock"],
|
|
|
-source: "with: anotherCollection do: aBlock\x0a\x09<inlineJS: '\x0a\x09 $recv(anotherCollection)._first_(0); // #guardSequenceableCollection\x0a\x09\x09for(var i=0; i<self.length; i++) {\x0a\x09\x09\x09aBlock._value_value_(self[i], anotherCollection[i]);\x0a\x09\x09}\x0a\x09'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SequenceableCollection);
|
|
|
-
|
|
|
-$core.addMethod(
|
|
|
-$core.method({
|
|
|
-selector: "withIndexDo:",
|
|
|
-protocol: "enumerating",
|
|
|
-fn: function (aBlock){
|
|
|
-var self=this,$self=this;
|
|
|
-
|
|
|
-return $core.withContext(function($ctx1) {
|
|
|
-
|
|
|
-
|
|
|
- for(var i=0; i < self.length; i++) {
|
|
|
- aBlock._value_value_(self[i], i+1);
|
|
|
- }
|
|
|
- ;
|
|
|
-return self;
|
|
|
-
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock},$globals.SequenceableCollection)});
|
|
|
-
|
|
|
-},
|
|
|
-
|
|
|
-args: ["aBlock"],
|
|
|
-source: "withIndexDo: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=0; i < self.length; i++) {\x0a\x09\x09\x09aBlock._value_value_(self[i], i+1);\x0a\x09\x09}\x0a\x09'>",
|
|
|
-referencedClasses: [],
|
|
|
-
|
|
|
-messageSends: []
|
|
|
-}),
|
|
|
-$globals.SequenceableCollection);
|
|
|
-
|
|
|
$core.addMethod(
|
|
|
$core.method({
|
|
|
selector: "writeStream",
|
|
@@ -10085,4 +9910,208 @@ messageSends: []
|
|
|
}),
|
|
|
$globals.RegularExpression.a$cls);
|
|
|
|
|
|
+
|
|
|
+$core.addTrait("TNativeZeroBasedCollection", "Kernel-Collections");
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "detect:ifNone:",
|
|
|
+protocol: "enumerating",
|
|
|
+fn: function (aBlock,anotherBlock){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+
|
|
|
+ for(var i = 0; i < self.length; i++)
|
|
|
+ if(aBlock._value_(self[i]))
|
|
|
+ return self[i];
|
|
|
+ return anotherBlock._value();
|
|
|
+ ;
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"detect:ifNone:",{aBlock:aBlock,anotherBlock:anotherBlock},$globals.TNativeZeroBasedCollection)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: ["aBlock", "anotherBlock"],
|
|
|
+source: "detect: aBlock ifNone: anotherBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i = 0; i < self.length; i++)\x0a\x09\x09\x09if(aBlock._value_(self[i]))\x0a\x09\x09\x09\x09return self[i];\x0a\x09\x09return anotherBlock._value();\x0a\x09'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.TNativeZeroBasedCollection);
|
|
|
+
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "do:",
|
|
|
+protocol: "enumerating",
|
|
|
+fn: function (aBlock){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+
|
|
|
+ for(var i=0; i < self.length; i++) {
|
|
|
+ aBlock._value_(self[i]);
|
|
|
+ }
|
|
|
+ ;
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock},$globals.TNativeZeroBasedCollection)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: ["aBlock"],
|
|
|
+source: "do: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=0; i < self.length; i++) {\x0a\x09\x09\x09aBlock._value_(self[i]);\x0a\x09\x09}\x0a\x09'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.TNativeZeroBasedCollection);
|
|
|
+
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "indexOf:ifAbsent:",
|
|
|
+protocol: "accessing",
|
|
|
+fn: function (anObject,aBlock){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+
|
|
|
+ for(var i=0; i < self.length; i++) {
|
|
|
+ if($recv(self[i]).__eq(anObject)) {return i+1}
|
|
|
+ };
|
|
|
+ return aBlock._value();
|
|
|
+ ;
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"indexOf:ifAbsent:",{anObject:anObject,aBlock:aBlock},$globals.TNativeZeroBasedCollection)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: ["anObject", "aBlock"],
|
|
|
+source: "indexOf: anObject ifAbsent: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=0; i < self.length; i++) {\x0a\x09\x09\x09if($recv(self[i]).__eq(anObject)) {return i+1}\x0a\x09\x09};\x0a\x09\x09return aBlock._value();\x0a\x09'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.TNativeZeroBasedCollection);
|
|
|
+
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "indexOf:startingAt:ifAbsent:",
|
|
|
+protocol: "accessing",
|
|
|
+fn: function (anObject,start,aBlock){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+
|
|
|
+ for(var i=start - 1; i < self.length; i++){
|
|
|
+ if($recv(self[i]).__eq(anObject)) {return i+1}
|
|
|
+ }
|
|
|
+ return aBlock._value();
|
|
|
+ ;
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"indexOf:startingAt:ifAbsent:",{anObject:anObject,start:start,aBlock:aBlock},$globals.TNativeZeroBasedCollection)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: ["anObject", "start", "aBlock"],
|
|
|
+source: "indexOf: anObject startingAt: start ifAbsent: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=start - 1; i < self.length; i++){\x0a\x09\x09\x09if($recv(self[i]).__eq(anObject)) {return i+1}\x0a\x09\x09}\x0a\x09\x09return aBlock._value();\x0a\x09'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.TNativeZeroBasedCollection);
|
|
|
+
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "single",
|
|
|
+protocol: "accessing",
|
|
|
+fn: function (){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+
|
|
|
+ if (self.length == 0) throw new Error("Collection is empty");
|
|
|
+ if (self.length > 1) throw new Error("Collection holds more than one element.");
|
|
|
+ return self[0];;
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"single",{},$globals.TNativeZeroBasedCollection)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: [],
|
|
|
+source: "single\x0a<inlineJS: '\x0a\x09if (self.length == 0) throw new Error(\x22Collection is empty\x22);\x0a\x09if (self.length > 1) throw new Error(\x22Collection holds more than one element.\x22);\x0a\x09return self[0];\x0a'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.TNativeZeroBasedCollection);
|
|
|
+
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "with:do:",
|
|
|
+protocol: "enumerating",
|
|
|
+fn: function (anotherCollection,aBlock){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+
|
|
|
+ $recv(anotherCollection)._first_(0);
|
|
|
+ for(var i=0; i<self.length; i++) {
|
|
|
+ aBlock._value_value_(self[i], anotherCollection[i]);
|
|
|
+ }
|
|
|
+ ;
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"with:do:",{anotherCollection:anotherCollection,aBlock:aBlock},$globals.TNativeZeroBasedCollection)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: ["anotherCollection", "aBlock"],
|
|
|
+source: "with: anotherCollection do: aBlock\x0a\x09<inlineJS: '\x0a\x09 $recv(anotherCollection)._first_(0); // #guardSequenceableCollection\x0a\x09\x09for(var i=0; i<self.length; i++) {\x0a\x09\x09\x09aBlock._value_value_(self[i], anotherCollection[i]);\x0a\x09\x09}\x0a\x09'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.TNativeZeroBasedCollection);
|
|
|
+
|
|
|
+$core.addMethod(
|
|
|
+$core.method({
|
|
|
+selector: "withIndexDo:",
|
|
|
+protocol: "enumerating",
|
|
|
+fn: function (aBlock){
|
|
|
+var self=this,$self=this;
|
|
|
+
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
+
|
|
|
+
|
|
|
+ for(var i=0; i < self.length; i++) {
|
|
|
+ aBlock._value_value_(self[i], i+1);
|
|
|
+ }
|
|
|
+ ;
|
|
|
+return self;
|
|
|
+
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock},$globals.TNativeZeroBasedCollection)});
|
|
|
+
|
|
|
+},
|
|
|
+
|
|
|
+args: ["aBlock"],
|
|
|
+source: "withIndexDo: aBlock\x0a\x09<inlineJS: '\x0a\x09\x09for(var i=0; i < self.length; i++) {\x0a\x09\x09\x09aBlock._value_value_(self[i], i+1);\x0a\x09\x09}\x0a\x09'>",
|
|
|
+referencedClasses: [],
|
|
|
+
|
|
|
+messageSends: []
|
|
|
+}),
|
|
|
+$globals.TNativeZeroBasedCollection);
|
|
|
+
|
|
|
+$core.setTraitComposition([{trait: $globals.TNativeZeroBasedCollection}], $globals.Array);
|
|
|
+$core.setTraitComposition([{trait: $globals.TNativeZeroBasedCollection}], $globals.String);
|
|
|
+
|
|
|
});
|