Browse Source

Moves `beginsWith:` and `endsWith:` to `SequenceableCollection`

Nicolas Petton 11 years ago
parent
commit
a8ef9bd0a8
2 changed files with 62 additions and 62 deletions
  1. 52 52
      js/Kernel-Collections.js
  2. 10 10
      st/Kernel-Collections.st

+ 52 - 52
js/Kernel-Collections.js

@@ -2494,6 +2494,32 @@ referencedClasses: []
 }),
 smalltalk.SequenceableCollection);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "beginsWith:",
+protocol: 'testing',
+fn: function (prefix){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1,$4;
+$2=self._size();
+$ctx1.sendIdx["size"]=1;
+$3=_st(prefix)._size();
+$ctx1.sendIdx["size"]=2;
+$1=_st($2).__lt($3);
+if(smalltalk.assert($1)){
+return false;
+};
+$4=_st(self._first_(_st(prefix)._size())).__eq(prefix);
+return $4;
+}, function($ctx1) {$ctx1.fill(self,"beginsWith:",{prefix:prefix},smalltalk.SequenceableCollection)})},
+args: ["prefix"],
+source: "beginsWith: prefix\x0a\x09self size < prefix size ifTrue: [ ^ false ].\x0a\x09^ (self first: prefix size) = prefix",
+messageSends: ["ifTrue:", "<", "size", "=", "first:"],
+referencedClasses: []
+}),
+smalltalk.SequenceableCollection);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "copyFrom:to:",
@@ -2586,6 +2612,32 @@ referencedClasses: []
 }),
 smalltalk.SequenceableCollection);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "endsWith:",
+protocol: 'testing',
+fn: function (suffix){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$3,$1,$4;
+$2=self._size();
+$ctx1.sendIdx["size"]=1;
+$3=_st(suffix)._size();
+$ctx1.sendIdx["size"]=2;
+$1=_st($2).__lt($3);
+if(smalltalk.assert($1)){
+return false;
+};
+$4=_st(self._last_(_st(suffix)._size())).__eq(suffix);
+return $4;
+}, function($ctx1) {$ctx1.fill(self,"endsWith:",{suffix:suffix},smalltalk.SequenceableCollection)})},
+args: ["suffix"],
+source: "endsWith: suffix\x0a\x09self size < suffix size ifTrue: [ ^ false ].\x0a\x09^ (self last: suffix size) = suffix",
+messageSends: ["ifTrue:", "<", "size", "=", "last:"],
+referencedClasses: []
+}),
+smalltalk.SequenceableCollection);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "first",
@@ -4146,32 +4198,6 @@ referencedClasses: []
 }),
 smalltalk.String);
 
-smalltalk.addMethod(
-smalltalk.method({
-selector: "beginsWith:",
-protocol: 'testing',
-fn: function (prefix){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
-var $2,$3,$1,$4;
-$2=self._size();
-$ctx1.sendIdx["size"]=1;
-$3=_st(prefix)._size();
-$ctx1.sendIdx["size"]=2;
-$1=_st($2).__lt($3);
-if(smalltalk.assert($1)){
-return false;
-};
-$4=_st(self._first_(_st(prefix)._size())).__eq(prefix);
-return $4;
-}, function($ctx1) {$ctx1.fill(self,"beginsWith:",{prefix:prefix},smalltalk.String)})},
-args: ["prefix"],
-source: "beginsWith: prefix\x0a\x09self size < prefix size ifTrue: [ ^ false ].\x0a\x09^ (self first: prefix size) = prefix",
-messageSends: ["ifTrue:", "<", "size", "=", "first:"],
-referencedClasses: []
-}),
-smalltalk.String);
-
 smalltalk.addMethod(
 smalltalk.method({
 selector: "capitalized",
@@ -4264,32 +4290,6 @@ referencedClasses: []
 }),
 smalltalk.String);
 
-smalltalk.addMethod(
-smalltalk.method({
-selector: "endsWith:",
-protocol: 'testing',
-fn: function (suffix){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
-var $2,$3,$1,$4;
-$2=self._size();
-$ctx1.sendIdx["size"]=1;
-$3=_st(suffix)._size();
-$ctx1.sendIdx["size"]=2;
-$1=_st($2).__lt($3);
-if(smalltalk.assert($1)){
-return false;
-};
-$4=_st(self._last_(_st(suffix)._size())).__eq(suffix);
-return $4;
-}, function($ctx1) {$ctx1.fill(self,"endsWith:",{suffix:suffix},smalltalk.String)})},
-args: ["suffix"],
-source: "endsWith: suffix\x0a\x09self size < suffix size ifTrue: [ ^ false ].\x0a\x09^ (self last: suffix size) = suffix",
-messageSends: ["ifTrue:", "<", "size", "=", "last:"],
-referencedClasses: []
-}),
-smalltalk.String);
-
 smalltalk.addMethod(
 smalltalk.method({
 selector: "escaped",

+ 10 - 10
st/Kernel-Collections.st

@@ -1017,6 +1017,16 @@ writeStream
 
 !SequenceableCollection methodsFor: 'testing'!
 
+beginsWith: prefix
+	self size < prefix size ifTrue: [ ^ false ].
+	^ (self first: prefix size) = prefix
+!
+
+endsWith: suffix
+	self size < suffix size ifTrue: [ ^ false ].
+	^ (self last: suffix size) = suffix
+!
+
 includes: anObject
 	^ (self indexOf: anObject ifAbsent: [ nil ]) notNil
 ! !
@@ -1611,16 +1621,6 @@ tokenize: aString
 
 !String methodsFor: 'testing'!
 
-beginsWith: prefix
-	self size < prefix size ifTrue: [ ^ false ].
-	^ (self first: prefix size) = prefix
-!
-
-endsWith: suffix
-	self size < suffix size ifTrue: [ ^ false ].
-	^ (self last: suffix size) = suffix
-!
-
 includesSubString: subString
 	< return self.indexOf(subString) !!= -1 >
 !