Browse Source

instanceVariablesStringAsSlotList

Herby Vojčík 5 years ago
parent
commit
06a62f67ba

+ 37 - 37
lang/src/Kernel-Classes.js

@@ -1033,17 +1033,17 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return $self._slots_($self._slotsFromInstanceVariablesString_(aString));
+return $self._slots_($recv(aString)._instanceVariablesStringAsSlotList());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"instanceVariableNames:",{aString:aString},$globals.Metaclass)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aString"],
-source: "instanceVariableNames: aString\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self slots: (self slotsFromInstanceVariablesString: aString)",
+source: "instanceVariableNames: aString\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self slots: aString instanceVariablesStringAsSlotList",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["slots:", "slotsFromInstanceVariablesString:"]
+messageSends: ["slots:", "instanceVariablesStringAsSlotList"]
 }),
 $globals.Metaclass);
 
@@ -1208,17 +1208,17 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return $self._uses_slots_(aTraitCompositionDescription,$self._slotsFromInstanceVariablesString_(aString));
+return $self._uses_slots_(aTraitCompositionDescription,$recv(aString)._instanceVariablesStringAsSlotList());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"uses:instanceVariableNames:",{aTraitCompositionDescription:aTraitCompositionDescription,aString:aString},$globals.Metaclass)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aTraitCompositionDescription", "aString"],
-source: "uses: aTraitCompositionDescription instanceVariableNames: aString\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self uses: aTraitCompositionDescription slots: (self slotsFromInstanceVariablesString: aString)",
+source: "uses: aTraitCompositionDescription instanceVariableNames: aString\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self uses: aTraitCompositionDescription slots: aString instanceVariablesStringAsSlotList",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["uses:slots:", "slotsFromInstanceVariablesString:"]
+messageSends: ["uses:slots:", "instanceVariablesStringAsSlotList"]
 }),
 $globals.Metaclass);
 
@@ -3048,37 +3048,6 @@ messageSends: []
 }),
 $globals.TBehaviorProvider);
 
-$core.addMethod(
-$core.method({
-selector: "slotsFromInstanceVariablesString:",
-protocol: "accessing",
-fn: function (aString){
-var self=this,$self=this;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-return $recv($recv(aString)._tokenize_(" "))._reject_((function(each){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
-return $recv(each)._isEmpty();
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
-//>>excludeEnd("ctx");
-}));
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"slotsFromInstanceVariablesString:",{aString:aString},$globals.TBehaviorProvider)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aString"],
-source: "slotsFromInstanceVariablesString: aString\x0a\x09^ (aString tokenize: ' ') reject: [ :each | each isEmpty ]",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: ["reject:", "tokenize:", "isEmpty"]
-}),
-$globals.TBehaviorProvider);
-
 $core.addMethod(
 $core.method({
 selector: "traitComposition",
@@ -4489,4 +4458,35 @@ messageSends: ["collect:", "asTraitTransformation"]
 }),
 $globals.Array);
 
+$core.addMethod(
+$core.method({
+selector: "instanceVariablesStringAsSlotList",
+protocol: "*Kernel-Classes",
+fn: function (){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+return $recv($self._tokenize_(" "))._reject_((function(each){
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx2) {
+//>>excludeEnd("ctx");
+return $recv(each)._isEmpty();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
+//>>excludeEnd("ctx");
+}));
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"instanceVariablesStringAsSlotList",{},$globals.String)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "instanceVariablesStringAsSlotList\x0a\x09^ (self tokenize: ' ') reject: [ :each | each isEmpty ]",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["reject:", "tokenize:", "isEmpty"]
+}),
+$globals.String);
+
 });

+ 8 - 6
lang/src/Kernel-Classes.st

@@ -241,7 +241,7 @@ instanceClass
 
 instanceVariableNames: aString
 	"Kept for file-in compatibility."
-	^ self slots: (self slotsFromInstanceVariablesString: aString)
+	^ self slots: aString instanceVariablesStringAsSlotList
 !
 
 name
@@ -272,7 +272,7 @@ theNonMetaClass
 
 uses: aTraitCompositionDescription instanceVariableNames: aString
 	"Kept for file-in compatibility."
-	^ self uses: aTraitCompositionDescription slots: (self slotsFromInstanceVariablesString: aString)
+	^ self uses: aTraitCompositionDescription slots: aString instanceVariablesStringAsSlotList
 !
 
 uses: aTraitCompositionDescription slots: aCollection
@@ -723,10 +723,6 @@ selectors
 	^ self methodDictionary keys
 !
 
-slotsFromInstanceVariablesString: aString
-	^ (aString tokenize: ' ') reject: [ :each | each isEmpty ]
-!
-
 traitComposition
 	^ (self basicAt: 'traitComposition')
 		ifNil: [ #() ]
@@ -1131,3 +1127,9 @@ asTraitComposition
 	^ self collect: [ :each | each asTraitTransformation ]
 ! !
 
+!String methodsFor: '*Kernel-Classes'!
+
+instanceVariablesStringAsSlotList
+	^ (self tokenize: ' ') reject: [ :each | each isEmpty ]
+! !
+

+ 6 - 6
lang/src/Kernel-Helpers.js

@@ -106,17 +106,17 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return $self._subclass_slots_package_(aString,$self._slotsFromInstanceVariablesString_(aString2),aString3);
+return $self._subclass_slots_package_(aString,$recv(aString2)._instanceVariablesStringAsSlotList(),aString3);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:package:",{aString:aString,aString2:aString2,aString3:aString3},$globals.TSubclassable)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aString", "aString2", "aString3"],
-source: "subclass: aString instanceVariableNames: aString2 package: aString3\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self subclass: aString slots: (self slotsFromInstanceVariablesString: aString2) package: aString3",
+source: "subclass: aString instanceVariableNames: aString2 package: aString3\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self subclass: aString slots: aString2 instanceVariablesStringAsSlotList package: aString3",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["subclass:slots:package:", "slotsFromInstanceVariablesString:"]
+messageSends: ["subclass:slots:package:", "instanceVariablesStringAsSlotList"]
 }),
 $globals.TSubclassable);
 
@@ -313,17 +313,17 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return $self._subclass_uses_slots_package_(aString,aTraitCompositionDescription,$self._slotsFromInstanceVariablesString_(aString2),aString3);
+return $self._subclass_uses_slots_package_(aString,aTraitCompositionDescription,$recv(aString2)._instanceVariablesStringAsSlotList(),aString3);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"subclass:uses:instanceVariableNames:package:",{aString:aString,aTraitCompositionDescription:aTraitCompositionDescription,aString2:aString2,aString3:aString3},$globals.TSubclassable)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aString", "aTraitCompositionDescription", "aString2", "aString3"],
-source: "subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self subclass: aString uses: aTraitCompositionDescription slots: (self slotsFromInstanceVariablesString: aString2) package: aString3",
+source: "subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3\x0a\x09\x22Kept for file-in compatibility.\x22\x0a\x09^ self subclass: aString uses: aTraitCompositionDescription slots: aString2 instanceVariablesStringAsSlotList package: aString3",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["subclass:uses:slots:package:", "slotsFromInstanceVariablesString:"]
+messageSends: ["subclass:uses:slots:package:", "instanceVariablesStringAsSlotList"]
 }),
 $globals.TSubclassable);
 

+ 2 - 2
lang/src/Kernel-Helpers.st

@@ -26,7 +26,7 @@ subclass: aString instanceVariableNames: aString2 classVariableNames: classVars
 
 subclass: aString instanceVariableNames: aString2 package: aString3
 	"Kept for file-in compatibility."
-	^ self subclass: aString slots: (self slotsFromInstanceVariablesString: aString2) package: aString3
+	^ self subclass: aString slots: aString2 instanceVariablesStringAsSlotList package: aString3
 !
 
 subclass: aString slots: aCollection
@@ -73,7 +73,7 @@ subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aStr
 
 subclass: aString uses: aTraitCompositionDescription instanceVariableNames: aString2 package: aString3
 	"Kept for file-in compatibility."
-	^ self subclass: aString uses: aTraitCompositionDescription slots: (self slotsFromInstanceVariablesString: aString2) package: aString3
+	^ self subclass: aString uses: aTraitCompositionDescription slots: aString2 instanceVariablesStringAsSlotList package: aString3
 !
 
 subclass: aString uses: aTraitCompositionDescription slots: aCollection

+ 3 - 21
lang/src/Kernel-Tests.js

@@ -2640,25 +2640,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3;
-$2=$self._class();
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["class"]=1;
-//>>excludeEnd("ctx");
-$1=$recv($2)._slotsFromInstanceVariablesString_("  hello   world   ");
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["slotsFromInstanceVariablesString:"]=1;
-//>>excludeEnd("ctx");
-$self._assert_equals_($1,["hello", "world"]);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["assert:equals:"]=1;
-//>>excludeEnd("ctx");
-$4=$recv($self._class())._class();
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["class"]=2;
-//>>excludeEnd("ctx");
-$3=$recv($4)._slotsFromInstanceVariablesString_("  hello   world   ");
-$self._assert_equals_($3,["hello", "world"]);
+$self._assert_equals_("  hello   world   "._instanceVariablesStringAsSlotList(),["hello", "world"]);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testSlotsFromInstanceVariablesString",{},$globals.ClassTest)});
@@ -2666,10 +2648,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "testSlotsFromInstanceVariablesString\x0a\x09self assert: (self class slotsFromInstanceVariablesString: '  hello   world   ') equals: #('hello' 'world').\x0a\x09self assert: (self class class slotsFromInstanceVariablesString: '  hello   world   ') equals: #('hello' 'world')",
+source: "testSlotsFromInstanceVariablesString\x0a\x09self assert: '  hello   world   ' instanceVariablesStringAsSlotList equals: #('hello' 'world')",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["assert:equals:", "slotsFromInstanceVariablesString:", "class"]
+messageSends: ["assert:equals:", "instanceVariablesStringAsSlotList"]
 }),
 $globals.ClassTest);
 

+ 1 - 2
lang/src/Kernel-Tests.st

@@ -523,8 +523,7 @@ testSetJavaScriptConstructor
 !
 
 testSlotsFromInstanceVariablesString
-	self assert: (self class slotsFromInstanceVariablesString: '  hello   world   ') equals: #('hello' 'world').
-	self assert: (self class class slotsFromInstanceVariablesString: '  hello   world   ') equals: #('hello' 'world')
+	self assert: '  hello   world   ' instanceVariablesStringAsSlotList equals: #('hello' 'world')
 !
 
 testTrickySetJavaScriptConstructor