Browse Source

Removes Symbol from the system:

- #foo is now parsed as a String
- the Symbol has been removed
- smalltalk.symbolFor() is kept for compatibility
Nicolas Petton 11 years ago
parent
commit
15ce8a0dd8

+ 8 - 8
js/Kernel-Classes.deploy.js

@@ -266,13 +266,13 @@ smalltalk.addMethod(
 "_includesSelector_",
 "_includesSelector_",
 smalltalk.method({
 smalltalk.method({
 selector: "includesSelector:",
 selector: "includesSelector:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._methodDictionary())._includesKey_(_st(aSymbol)._asString());
+$1=_st(_st(self)._methodDictionary())._includesKey_(aString);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aSymbol:aSymbol},smalltalk.Behavior)})},
-messageSends: ["includesKey:", "asString", "methodDictionary"]}),
+}, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aString:aString},smalltalk.Behavior)})},
+messageSends: ["includesKey:", "methodDictionary"]}),
 smalltalk.Behavior);
 smalltalk.Behavior);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(
@@ -332,13 +332,13 @@ smalltalk.addMethod(
 "_methodAt_",
 "_methodAt_",
 smalltalk.method({
 smalltalk.method({
 selector: "methodAt:",
 selector: "methodAt:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._methodDictionary())._at_(_st(aSymbol)._asString());
+$1=_st(_st(self)._methodDictionary())._at_(aString);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodAt:",{aSymbol:aSymbol},smalltalk.Behavior)})},
-messageSends: ["at:", "asString", "methodDictionary"]}),
+}, function($ctx1) {$ctx1.fill(self,"methodAt:",{aString:aString},smalltalk.Behavior)})},
+messageSends: ["at:", "methodDictionary"]}),
 smalltalk.Behavior);
 smalltalk.Behavior);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(

+ 12 - 12
js/Kernel-Classes.js

@@ -348,15 +348,15 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "includesSelector:",
 selector: "includesSelector:",
 category: 'testing',
 category: 'testing',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._methodDictionary())._includesKey_(_st(aSymbol)._asString());
+$1=_st(_st(self)._methodDictionary())._includesKey_(aString);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aSymbol:aSymbol},smalltalk.Behavior)})},
-args: ["aSymbol"],
-source: "includesSelector: aSymbol\x0a\x09^ self methodDictionary includesKey: aSymbol asString",
-messageSends: ["includesKey:", "asString", "methodDictionary"],
+}, function($ctx1) {$ctx1.fill(self,"includesSelector:",{aString:aString},smalltalk.Behavior)})},
+args: ["aString"],
+source: "includesSelector: aString\x0a\x09^ self methodDictionary includesKey: aString",
+messageSends: ["includesKey:", "methodDictionary"],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
 smalltalk.Behavior);
 smalltalk.Behavior);
@@ -434,15 +434,15 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "methodAt:",
 selector: "methodAt:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._methodDictionary())._at_(_st(aSymbol)._asString());
+$1=_st(_st(self)._methodDictionary())._at_(aString);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"methodAt:",{aSymbol:aSymbol},smalltalk.Behavior)})},
-args: ["aSymbol"],
-source: "methodAt: aSymbol\x0a\x09^ self methodDictionary at: aSymbol asString",
-messageSends: ["at:", "asString", "methodDictionary"],
+}, function($ctx1) {$ctx1.fill(self,"methodAt:",{aString:aString},smalltalk.Behavior)})},
+args: ["aString"],
+source: "methodAt: aString\x0a\x09^ self methodDictionary at: aString",
+messageSends: ["at:", "methodDictionary"],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
 smalltalk.Behavior);
 smalltalk.Behavior);

+ 4 - 349
js/Kernel-Collections.deploy.js

@@ -2249,10 +2249,10 @@ selector: "asSymbol",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._subclassResponsibility();
+$1=_st(self)._asString();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.CharacterArray)})},
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.CharacterArray)})},
-messageSends: ["subclassResponsibility"]}),
+messageSends: ["asString"]}),
 smalltalk.CharacterArray);
 smalltalk.CharacterArray);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(
@@ -2529,10 +2529,10 @@ selector: "asSymbol",
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st((smalltalk.Symbol || Symbol))._lookup_(self);
+$1=self;
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.String)})},
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.String)})},
-messageSends: ["lookup:"]}),
+messageSends: []}),
 smalltalk.String);
 smalltalk.String);
 
 
 smalltalk.addMethod(
 smalltalk.addMethod(
@@ -3152,351 +3152,6 @@ messageSends: []}),
 smalltalk.String.klass);
 smalltalk.String.klass);
 
 
 
 
-smalltalk.addClass('Symbol', smalltalk.CharacterArray, [], 'Kernel-Collections');
-smalltalk.addMethod(
-"__lt",
-smalltalk.method({
-selector: "<",
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__lt(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"<",{aSymbol:aSymbol},smalltalk.Symbol)})},
-messageSends: ["<", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__lt_eq",
-smalltalk.method({
-selector: "<=",
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__lt_eq(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"<=",{aSymbol:aSymbol},smalltalk.Symbol)})},
-messageSends: ["<=", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__eq",
-smalltalk.method({
-selector: "=",
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
-$1=_st(_st(aSymbol)._class()).__eq(_st(self)._class());
-if(! smalltalk.assert($1)){
-return false;
-};
-$2=_st(_st(self)._asString()).__eq(_st(aSymbol)._asString());
-return $2;
-}, function($ctx1) {$ctx1.fill(self,"=",{aSymbol:aSymbol},smalltalk.Symbol)})},
-messageSends: ["ifFalse:", "=", "class", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__gt",
-smalltalk.method({
-selector: ">",
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__gt(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,">",{aSymbol:aSymbol},smalltalk.Symbol)})},
-messageSends: [">", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__gt_eq",
-smalltalk.method({
-selector: ">=",
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__gt_eq(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,">=",{aSymbol:aSymbol},smalltalk.Symbol)})},
-messageSends: [">=", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asJSON",
-smalltalk.method({
-selector: "asJSON",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._asJSON();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{},smalltalk.Symbol)})},
-messageSends: ["asJSON", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asJavascript",
-smalltalk.method({
-selector: "asJavascript",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st("smalltalk.symbolFor(").__comma(_st(_st(self)._asString())._asJavascript())).__comma(")");
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Symbol)})},
-messageSends: [",", "asJavascript", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asSelector",
-smalltalk.method({
-selector: "asSelector",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._asSelector();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asSelector",{},smalltalk.Symbol)})},
-messageSends: ["asSelector", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asString",
-smalltalk.method({
-selector: "asString",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.value;
-return self}, function($ctx1) {$ctx1.fill(self,"asString",{},smalltalk.Symbol)})},
-messageSends: []}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asSymbol",
-smalltalk.method({
-selector: "asSymbol",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=self;
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.Symbol)})},
-messageSends: []}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_at_ifAbsent_",
-smalltalk.method({
-selector: "at:ifAbsent:",
-fn: function (anIndex,aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._at_ifAbsent_(anIndex,aBlock);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock},smalltalk.Symbol)})},
-messageSends: ["at:ifAbsent:", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_collect_",
-smalltalk.method({
-selector: "collect:",
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(_st(self)._asString())._collect_(aBlock))._asSymbol();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock},smalltalk.Symbol)})},
-messageSends: ["asSymbol", "collect:", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_copyFrom_to_",
-smalltalk.method({
-selector: "copyFrom:to:",
-fn: function (anIndex,anotherIndex){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._copyFrom_to_(anIndex,anotherIndex));
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex},smalltalk.Symbol)})},
-messageSends: ["fromString:", "copyFrom:to:", "asString", "class"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_deepCopy",
-smalltalk.method({
-selector: "deepCopy",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=self;
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"deepCopy",{},smalltalk.Symbol)})},
-messageSends: []}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_detect_",
-smalltalk.method({
-selector: "detect:",
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._detect_(aBlock);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"detect:",{aBlock:aBlock},smalltalk.Symbol)})},
-messageSends: ["detect:", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_do_",
-smalltalk.method({
-selector: "do:",
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._asString())._do_(aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock},smalltalk.Symbol)})},
-messageSends: ["do:", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_indexOf_",
-smalltalk.method({
-selector: "indexOf:",
-fn: function (anElement){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._indexOf_(anElement);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"indexOf:",{anElement:anElement},smalltalk.Symbol)})},
-messageSends: ["indexOf:", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_isSymbol",
-smalltalk.method({
-selector: "isSymbol",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSymbol",{},smalltalk.Symbol)})},
-messageSends: []}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_printOn_",
-smalltalk.method({
-selector: "printOn:",
-fn: function (aStream){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aStream)._nextPutAll_("#");
-smalltalk.CharacterArray.fn.prototype._printOn_.apply(_st(self), [aStream]);
-return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Symbol)})},
-messageSends: ["nextPutAll:", "printOn:"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_select_",
-smalltalk.method({
-selector: "select:",
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(_st(self)._asString())._select_(aBlock))._asSymbol();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock},smalltalk.Symbol)})},
-messageSends: ["asSymbol", "select:", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_shallowCopy",
-smalltalk.method({
-selector: "shallowCopy",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=self;
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"shallowCopy",{},smalltalk.Symbol)})},
-messageSends: []}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_size",
-smalltalk.method({
-selector: "size",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._size();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"size",{},smalltalk.Symbol)})},
-messageSends: ["size", "asString"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_value_",
-smalltalk.method({
-selector: "value:",
-fn: function (anObject){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(anObject)._perform_(self);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.Symbol)})},
-messageSends: ["perform:"]}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_withIndexDo_",
-smalltalk.method({
-selector: "withIndexDo:",
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._asString())._withIndexDo_(aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock},smalltalk.Symbol)})},
-messageSends: ["withIndexDo:", "asString"]}),
-smalltalk.Symbol);
-
-
-smalltalk.addMethod(
-"_basicNew",
-smalltalk.method({
-selector: "basicNew",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
-return self}, function($ctx1) {$ctx1.fill(self,"basicNew",{},smalltalk.Symbol.klass)})},
-messageSends: ["shouldNotImplement"]}),
-smalltalk.Symbol.klass);
-
-smalltalk.addMethod(
-"_fromString_",
-smalltalk.method({
-selector: "fromString:",
-fn: function (aString){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._lookup_(aString);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},smalltalk.Symbol.klass)})},
-messageSends: ["lookup:"]}),
-smalltalk.Symbol.klass);
-
-smalltalk.addMethod(
-"_lookup_",
-smalltalk.method({
-selector: "lookup:",
-fn: function (aString){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.symbolFor(aString);;
-return self}, function($ctx1) {$ctx1.fill(self,"lookup:",{aString:aString},smalltalk.Symbol.klass)})},
-messageSends: []}),
-smalltalk.Symbol.klass);
-
-
 smalltalk.addClass('Set', smalltalk.Collection, ['elements'], 'Kernel-Collections');
 smalltalk.addClass('Set', smalltalk.Collection, ['elements'], 'Kernel-Collections');
 smalltalk.addMethod(
 smalltalk.addMethod(
 "__eq",
 "__eq",

+ 7 - 488
js/Kernel-Collections.js

@@ -3023,12 +3023,12 @@ category: 'converting',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._subclassResponsibility();
+$1=_st(self)._asString();
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.CharacterArray)})},
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.CharacterArray)})},
 args: [],
 args: [],
-source: "asSymbol\x0a\x09^self subclassResponsibility",
-messageSends: ["subclassResponsibility"],
+source: "asSymbol\x0a\x09^self asString",
+messageSends: ["asString"],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
 smalltalk.CharacterArray);
 smalltalk.CharacterArray);
@@ -3419,13 +3419,13 @@ category: 'converting',
 fn: function (){
 fn: function (){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st((smalltalk.Symbol || Symbol))._lookup_(self);
+$1=self;
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.String)})},
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.String)})},
 args: [],
 args: [],
-source: "asSymbol\x0a\x09^Symbol lookup: self",
-messageSends: ["lookup:"],
-referencedClasses: ["Symbol"]
+source: "asSymbol\x0a\x09^ self",
+messageSends: [],
+referencedClasses: []
 }),
 }),
 smalltalk.String);
 smalltalk.String);
 
 
@@ -4271,487 +4271,6 @@ referencedClasses: []
 smalltalk.String.klass);
 smalltalk.String.klass);
 
 
 
 
-smalltalk.addClass('Symbol', smalltalk.CharacterArray, [], 'Kernel-Collections');
-smalltalk.Symbol.comment="I represent Strings that are created uniquely.\x0aSymbols are unique through the system.\x0a\x0aThus, someString asSymbol == someString asSymbol."
-smalltalk.addMethod(
-"__lt",
-smalltalk.method({
-selector: "<",
-category: 'comparing',
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__lt(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"<",{aSymbol:aSymbol},smalltalk.Symbol)})},
-args: ["aSymbol"],
-source: "< aSymbol\x0a\x09^self asString < aSymbol asString",
-messageSends: ["<", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__lt_eq",
-smalltalk.method({
-selector: "<=",
-category: 'comparing',
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__lt_eq(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"<=",{aSymbol:aSymbol},smalltalk.Symbol)})},
-args: ["aSymbol"],
-source: "<= aSymbol\x0a\x09^self asString <= aSymbol asString",
-messageSends: ["<=", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__eq",
-smalltalk.method({
-selector: "=",
-category: 'comparing',
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1,$2;
-$1=_st(_st(aSymbol)._class()).__eq(_st(self)._class());
-if(! smalltalk.assert($1)){
-return false;
-};
-$2=_st(_st(self)._asString()).__eq(_st(aSymbol)._asString());
-return $2;
-}, function($ctx1) {$ctx1.fill(self,"=",{aSymbol:aSymbol},smalltalk.Symbol)})},
-args: ["aSymbol"],
-source: "= aSymbol\x0a\x09aSymbol class = self class ifFalse: [^false].\x0a\x09^self asString = aSymbol asString",
-messageSends: ["ifFalse:", "=", "class", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__gt",
-smalltalk.method({
-selector: ">",
-category: 'comparing',
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__gt(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,">",{aSymbol:aSymbol},smalltalk.Symbol)})},
-args: ["aSymbol"],
-source: "> aSymbol\x0a\x09^self asString > aSymbol asString",
-messageSends: [">", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"__gt_eq",
-smalltalk.method({
-selector: ">=",
-category: 'comparing',
-fn: function (aSymbol){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString()).__gt_eq(_st(aSymbol)._asString());
-return $1;
-}, function($ctx1) {$ctx1.fill(self,">=",{aSymbol:aSymbol},smalltalk.Symbol)})},
-args: ["aSymbol"],
-source: ">= aSymbol\x0a\x09^self asString >= aSymbol asString",
-messageSends: [">=", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asJSON",
-smalltalk.method({
-selector: "asJSON",
-category: 'converting',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._asJSON();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asJSON",{},smalltalk.Symbol)})},
-args: [],
-source: "asJSON\x0a\x09^self asString asJSON",
-messageSends: ["asJSON", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asJavascript",
-smalltalk.method({
-selector: "asJavascript",
-category: 'converting',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st("smalltalk.symbolFor(").__comma(_st(_st(self)._asString())._asJavascript())).__comma(")");
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Symbol)})},
-args: [],
-source: "asJavascript\x0a\x09^'smalltalk.symbolFor(', self asString asJavascript, ')'",
-messageSends: [",", "asJavascript", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asSelector",
-smalltalk.method({
-selector: "asSelector",
-category: 'converting',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._asSelector();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asSelector",{},smalltalk.Symbol)})},
-args: [],
-source: "asSelector\x0a\x09^self asString asSelector",
-messageSends: ["asSelector", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asString",
-smalltalk.method({
-selector: "asString",
-category: 'converting',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self.value;
-return self}, function($ctx1) {$ctx1.fill(self,"asString",{},smalltalk.Symbol)})},
-args: [],
-source: "asString\x0a\x09<return self.value>",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_asSymbol",
-smalltalk.method({
-selector: "asSymbol",
-category: 'converting',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=self;
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.Symbol)})},
-args: [],
-source: "asSymbol\x0a\x09^self",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_at_ifAbsent_",
-smalltalk.method({
-selector: "at:ifAbsent:",
-category: 'accessing',
-fn: function (anIndex,aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._at_ifAbsent_(anIndex,aBlock);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{anIndex:anIndex,aBlock:aBlock},smalltalk.Symbol)})},
-args: ["anIndex", "aBlock"],
-source: "at: anIndex ifAbsent: aBlock\x0a\x09^self asString at: anIndex ifAbsent: aBlock",
-messageSends: ["at:ifAbsent:", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_collect_",
-smalltalk.method({
-selector: "collect:",
-category: 'enumerating',
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(_st(self)._asString())._collect_(aBlock))._asSymbol();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock},smalltalk.Symbol)})},
-args: ["aBlock"],
-source: "collect: aBlock\x0a\x09^ (self asString collect: aBlock) asSymbol",
-messageSends: ["asSymbol", "collect:", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_copyFrom_to_",
-smalltalk.method({
-selector: "copyFrom:to:",
-category: 'copying',
-fn: function (anIndex,anotherIndex){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._class())._fromString_(_st(_st(self)._asString())._copyFrom_to_(anIndex,anotherIndex));
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex},smalltalk.Symbol)})},
-args: ["anIndex", "anotherIndex"],
-source: "copyFrom: anIndex to: anotherIndex\x0a\x09^self class fromString: (self asString copyFrom: anIndex to: anotherIndex)",
-messageSends: ["fromString:", "copyFrom:to:", "asString", "class"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_deepCopy",
-smalltalk.method({
-selector: "deepCopy",
-category: 'copying',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=self;
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"deepCopy",{},smalltalk.Symbol)})},
-args: [],
-source: "deepCopy\x0a\x09^self",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_detect_",
-smalltalk.method({
-selector: "detect:",
-category: 'enumerating',
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._detect_(aBlock);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"detect:",{aBlock:aBlock},smalltalk.Symbol)})},
-args: ["aBlock"],
-source: "detect: aBlock\x0a\x09^ self asString detect: aBlock",
-messageSends: ["detect:", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_do_",
-smalltalk.method({
-selector: "do:",
-category: 'enumerating',
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._asString())._do_(aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock},smalltalk.Symbol)})},
-args: ["aBlock"],
-source: "do: aBlock\x0a\x09self asString do: aBlock",
-messageSends: ["do:", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_indexOf_",
-smalltalk.method({
-selector: "indexOf:",
-category: 'accessing',
-fn: function (anElement){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._indexOf_(anElement);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"indexOf:",{anElement:anElement},smalltalk.Symbol)})},
-args: ["anElement"],
-source: "indexOf: anElement\x0a\x09^ self asString indexOf: anElement",
-messageSends: ["indexOf:", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_isSymbol",
-smalltalk.method({
-selector: "isSymbol",
-category: 'testing',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return true;
-}, function($ctx1) {$ctx1.fill(self,"isSymbol",{},smalltalk.Symbol)})},
-args: [],
-source: "isSymbol\x0a\x09^true",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_printOn_",
-smalltalk.method({
-selector: "printOn:",
-category: 'printing',
-fn: function (aStream){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(aStream)._nextPutAll_("#");
-smalltalk.CharacterArray.fn.prototype._printOn_.apply(_st(self), [aStream]);
-return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Symbol)})},
-args: ["aStream"],
-source: "printOn: aStream\x0a\x09aStream nextPutAll: '#'.\x0a\x09super printOn: aStream",
-messageSends: ["nextPutAll:", "printOn:"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_select_",
-smalltalk.method({
-selector: "select:",
-category: 'enumerating',
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(_st(self)._asString())._select_(aBlock))._asSymbol();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock},smalltalk.Symbol)})},
-args: ["aBlock"],
-source: "select: aBlock\x0a\x09^ (self asString select: aBlock) asSymbol",
-messageSends: ["asSymbol", "select:", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_shallowCopy",
-smalltalk.method({
-selector: "shallowCopy",
-category: 'copying',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=self;
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"shallowCopy",{},smalltalk.Symbol)})},
-args: [],
-source: "shallowCopy\x0a\x09^self",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_size",
-smalltalk.method({
-selector: "size",
-category: 'accessing',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(_st(self)._asString())._size();
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"size",{},smalltalk.Symbol)})},
-args: [],
-source: "size\x0a\x09^self asString size",
-messageSends: ["size", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_value_",
-smalltalk.method({
-selector: "value:",
-category: 'evaluating',
-fn: function (anObject){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(anObject)._perform_(self);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},smalltalk.Symbol)})},
-args: ["anObject"],
-source: "value: anObject\x0a\x09^anObject perform: self",
-messageSends: ["perform:"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-smalltalk.addMethod(
-"_withIndexDo_",
-smalltalk.method({
-selector: "withIndexDo:",
-category: 'enumerating',
-fn: function (aBlock){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._asString())._withIndexDo_(aBlock);
-return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock},smalltalk.Symbol)})},
-args: ["aBlock"],
-source: "withIndexDo: aBlock\x0a\x09self asString withIndexDo: aBlock",
-messageSends: ["withIndexDo:", "asString"],
-referencedClasses: []
-}),
-smalltalk.Symbol);
-
-
-smalltalk.addMethod(
-"_basicNew",
-smalltalk.method({
-selector: "basicNew",
-category: 'instance creation',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldNotImplement();
-return self}, function($ctx1) {$ctx1.fill(self,"basicNew",{},smalltalk.Symbol.klass)})},
-args: [],
-source: "basicNew\x0a\x09self shouldNotImplement",
-messageSends: ["shouldNotImplement"],
-referencedClasses: []
-}),
-smalltalk.Symbol.klass);
-
-smalltalk.addMethod(
-"_fromString_",
-smalltalk.method({
-selector: "fromString:",
-category: 'instance creation',
-fn: function (aString){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._lookup_(aString);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},smalltalk.Symbol.klass)})},
-args: ["aString"],
-source: "fromString: aString\x0a\x09^self lookup: aString",
-messageSends: ["lookup:"],
-referencedClasses: []
-}),
-smalltalk.Symbol.klass);
-
-smalltalk.addMethod(
-"_lookup_",
-smalltalk.method({
-selector: "lookup:",
-category: 'instance creation',
-fn: function (aString){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.symbolFor(aString);;
-return self}, function($ctx1) {$ctx1.fill(self,"lookup:",{aString:aString},smalltalk.Symbol.klass)})},
-args: ["aString"],
-source: "lookup: aString\x0a\x09<return smalltalk.symbolFor(aString);>",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.Symbol.klass);
-
-
 smalltalk.addClass('Set', smalltalk.Collection, ['elements'], 'Kernel-Collections');
 smalltalk.addClass('Set', smalltalk.Collection, ['elements'], 'Kernel-Collections');
 smalltalk.Set.comment="I represent an unordered set of objects without duplicates."
 smalltalk.Set.comment="I represent an unordered set of objects without duplicates."
 smalltalk.addMethod(
 smalltalk.addMethod(

+ 39 - 42
js/Kernel-Objects.deploy.js

@@ -133,12 +133,12 @@ smalltalk.addMethod(
 "_basicPerform_",
 "_basicPerform_",
 smalltalk.method({
 smalltalk.method({
 selector: "basicPerform:",
 selector: "basicPerform:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._basicPerform_withArguments_(aSymbol,[]);
+$1=_st(self)._basicPerform_withArguments_(aString,[]);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"basicPerform:",{aSymbol:aSymbol},smalltalk.Object)})},
+}, function($ctx1) {$ctx1.fill(self,"basicPerform:",{aString:aString},smalltalk.Object)})},
 messageSends: ["basicPerform:withArguments:"]}),
 messageSends: ["basicPerform:withArguments:"]}),
 smalltalk.Object);
 smalltalk.Object);
 
 
@@ -146,10 +146,10 @@ smalltalk.addMethod(
 "_basicPerform_withArguments_",
 "_basicPerform_withArguments_",
 smalltalk.method({
 smalltalk.method({
 selector: "basicPerform:withArguments:",
 selector: "basicPerform:withArguments:",
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self[aSymbol].apply(self, aCollection);;
-return self}, function($ctx1) {$ctx1.fill(self,"basicPerform:withArguments:",{aSymbol:aSymbol,aCollection:aCollection},smalltalk.Object)})},
+return smalltalk.withContext(function($ctx1) { 
return self[aString].apply(self, aCollection);;
+return self}, function($ctx1) {$ctx1.fill(self,"basicPerform:withArguments:",{aString:aString,aCollection:aCollection},smalltalk.Object)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Object);
 smalltalk.Object);
 
 
@@ -327,10 +327,10 @@ smalltalk.addMethod(
 "_instVarAt_",
 "_instVarAt_",
 smalltalk.method({
 smalltalk.method({
 selector: "instVarAt:",
 selector: "instVarAt:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self['@'+aSymbol._asString()];
-return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:",{aSymbol:aSymbol},smalltalk.Object)})},
+return smalltalk.withContext(function($ctx1) { 
 return self['@'+aString] ;
+return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:",{aString:aString},smalltalk.Object)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Object);
 smalltalk.Object);
 
 
@@ -338,10 +338,10 @@ smalltalk.addMethod(
 "_instVarAt_put_",
 "_instVarAt_put_",
 smalltalk.method({
 smalltalk.method({
 selector: "instVarAt:put:",
 selector: "instVarAt:put:",
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self['@' + aSymbol._asString()] = anObject;
-return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:put:",{aSymbol:aSymbol,anObject:anObject},smalltalk.Object)})},
+return smalltalk.withContext(function($ctx1) { 
 self['@' + aString] = anObject ;
+return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:put:",{aString:aString,anObject:anObject},smalltalk.Object)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Object);
 smalltalk.Object);
 
 
@@ -492,12 +492,12 @@ smalltalk.addMethod(
 "_perform_",
 "_perform_",
 smalltalk.method({
 smalltalk.method({
 selector: "perform:",
 selector: "perform:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._perform_withArguments_(aSymbol,[]);
+$1=_st(self)._perform_withArguments_(aString,[]);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"perform:",{aSymbol:aSymbol},smalltalk.Object)})},
+}, function($ctx1) {$ctx1.fill(self,"perform:",{aString:aString},smalltalk.Object)})},
 messageSends: ["perform:withArguments:"]}),
 messageSends: ["perform:withArguments:"]}),
 smalltalk.Object);
 smalltalk.Object);
 
 
@@ -505,10 +505,10 @@ smalltalk.addMethod(
 "_perform_withArguments_",
 "_perform_withArguments_",
 smalltalk.method({
 smalltalk.method({
 selector: "perform:withArguments:",
 selector: "perform:withArguments:",
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.send(self, aSymbol._asSelector(), aCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"perform:withArguments:",{aSymbol:aSymbol,aCollection:aCollection},smalltalk.Object)})},
+return smalltalk.withContext(function($ctx1) { 
return smalltalk.send(self, aString._asSelector(), aCollection);
+return self}, function($ctx1) {$ctx1.fill(self,"perform:withArguments:",{aString:aString,aCollection:aCollection},smalltalk.Object)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Object);
 smalltalk.Object);
 
 
@@ -1469,10 +1469,10 @@ smalltalk.addMethod(
 "_at_",
 "_at_",
 smalltalk.method({
 smalltalk.method({
 selector: "at:",
 selector: "at:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self['@jsObject'][aSymbol._asString()];
-return self}, function($ctx1) {$ctx1.fill(self,"at:",{aSymbol:aSymbol},smalltalk.JSObjectProxy)})},
+return smalltalk.withContext(function($ctx1) { 
return self['@jsObject'][aString];
+return self}, function($ctx1) {$ctx1.fill(self,"at:",{aString:aString},smalltalk.JSObjectProxy)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JSObjectProxy);
 smalltalk.JSObjectProxy);
 
 
@@ -1480,14 +1480,13 @@ smalltalk.addMethod(
 "_at_ifAbsent_",
 "_at_ifAbsent_",
 smalltalk.method({
 smalltalk.method({
 selector: "at:ifAbsent:",
 selector: "at:ifAbsent:",
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? obj[symbol] : aBlock();
+		var obj = self['@jsObject'];
+		return aString in obj ? obj[aString] : aBlock();
 	;
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aSymbol:aSymbol,aBlock:aBlock},smalltalk.JSObjectProxy)})},
+return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aString:aString,aBlock:aBlock},smalltalk.JSObjectProxy)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JSObjectProxy);
 smalltalk.JSObjectProxy);
 
 
@@ -1495,14 +1494,13 @@ smalltalk.addMethod(
 "_at_ifPresent_",
 "_at_ifPresent_",
 smalltalk.method({
 smalltalk.method({
 selector: "at:ifPresent:",
 selector: "at:ifPresent:",
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? aBlock(obj[symbol]) : nil;
+		var obj = self['@jsObject'];
+		return aString in obj ? aBlock(obj[aString]) : nil;
 	;
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:",{aSymbol:aSymbol,aBlock:aBlock},smalltalk.JSObjectProxy)})},
+return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:",{aString:aString,aBlock:aBlock},smalltalk.JSObjectProxy)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JSObjectProxy);
 smalltalk.JSObjectProxy);
 
 
@@ -1510,14 +1508,13 @@ smalltalk.addMethod(
 "_at_ifPresent_ifAbsent_",
 "_at_ifPresent_ifAbsent_",
 smalltalk.method({
 smalltalk.method({
 selector: "at:ifPresent:ifAbsent:",
 selector: "at:ifPresent:ifAbsent:",
-fn: function (aSymbol,aBlock,anotherBlock){
+fn: function (aString,aBlock,anotherBlock){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? aBlock(obj[symbol]) : anotherBlock();
+		var obj = self['@jsObject'];
+		return aString in obj ? aBlock(obj[aString]) : anotherBlock();
 	;
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{aSymbol:aSymbol,aBlock:aBlock,anotherBlock:anotherBlock},smalltalk.JSObjectProxy)})},
+return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{aString:aString,aBlock:aBlock,anotherBlock:anotherBlock},smalltalk.JSObjectProxy)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JSObjectProxy);
 smalltalk.JSObjectProxy);
 
 
@@ -1525,10 +1522,10 @@ smalltalk.addMethod(
 "_at_put_",
 "_at_put_",
 smalltalk.method({
 smalltalk.method({
 selector: "at:put:",
 selector: "at:put:",
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self['@jsObject'][aSymbol._asString()] = anObject;
-return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{aSymbol:aSymbol,anObject:anObject},smalltalk.JSObjectProxy)})},
+return smalltalk.withContext(function($ctx1) { 
self['@jsObject'][aString] = anObject;
+return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{aString:aString,anObject:anObject},smalltalk.JSObjectProxy)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.JSObjectProxy);
 smalltalk.JSObjectProxy);
 
 
@@ -3087,10 +3084,10 @@ smalltalk.addMethod(
 "_at_",
 "_at_",
 smalltalk.method({
 smalltalk.method({
 selector: "at:",
 selector: "at:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self[aSymbol._asString()];
-return self}, function($ctx1) {$ctx1.fill(self,"at:",{aSymbol:aSymbol},smalltalk.Smalltalk)})},
+return smalltalk.withContext(function($ctx1) { 
return self[aString];
+return self}, function($ctx1) {$ctx1.fill(self,"at:",{aString:aString},smalltalk.Smalltalk)})},
 messageSends: []}),
 messageSends: []}),
 smalltalk.Smalltalk);
 smalltalk.Smalltalk);
 
 

+ 64 - 67
js/Kernel-Objects.js

@@ -185,14 +185,14 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "basicPerform:",
 selector: "basicPerform:",
 category: 'message handling',
 category: 'message handling',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._basicPerform_withArguments_(aSymbol,[]);
+$1=_st(self)._basicPerform_withArguments_(aString,[]);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"basicPerform:",{aSymbol:aSymbol},smalltalk.Object)})},
-args: ["aSymbol"],
-source: "basicPerform: aSymbol\x0a\x09^self basicPerform: aSymbol withArguments: #()",
+}, function($ctx1) {$ctx1.fill(self,"basicPerform:",{aString:aString},smalltalk.Object)})},
+args: ["aString"],
+source: "basicPerform: aString\x0a\x09^self basicPerform: aString withArguments: #()",
 messageSends: ["basicPerform:withArguments:"],
 messageSends: ["basicPerform:withArguments:"],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -203,12 +203,12 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "basicPerform:withArguments:",
 selector: "basicPerform:withArguments:",
 category: 'message handling',
 category: 'message handling',
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self[aSymbol].apply(self, aCollection);;
-return self}, function($ctx1) {$ctx1.fill(self,"basicPerform:withArguments:",{aSymbol:aSymbol,aCollection:aCollection},smalltalk.Object)})},
-args: ["aSymbol", "aCollection"],
-source: "basicPerform: aSymbol withArguments: aCollection\x0a\x09<return self[aSymbol].apply(self, aCollection);>",
+return smalltalk.withContext(function($ctx1) { 
return self[aString].apply(self, aCollection);;
+return self}, function($ctx1) {$ctx1.fill(self,"basicPerform:withArguments:",{aString:aString,aCollection:aCollection},smalltalk.Object)})},
+args: ["aString", "aCollection"],
+source: "basicPerform: aString withArguments: aCollection\x0a\x09<return self[aString].apply(self, aCollection);>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -454,12 +454,12 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "instVarAt:",
 selector: "instVarAt:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self['@'+aSymbol._asString()];
-return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:",{aSymbol:aSymbol},smalltalk.Object)})},
-args: ["aSymbol"],
-source: "instVarAt: aSymbol\x0a\x09<return self['@'+aSymbol._asString()]>",
+return smalltalk.withContext(function($ctx1) { 
 return self['@'+aString] ;
+return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:",{aString:aString},smalltalk.Object)})},
+args: ["aString"],
+source: "instVarAt: aString\x0a\x09< return self['@'+aString] >",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -470,12 +470,12 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "instVarAt:put:",
 selector: "instVarAt:put:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self['@' + aSymbol._asString()] = anObject;
-return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:put:",{aSymbol:aSymbol,anObject:anObject},smalltalk.Object)})},
-args: ["aSymbol", "anObject"],
-source: "instVarAt: aSymbol put: anObject\x0a\x09<self['@' + aSymbol._asString()] = anObject>",
+return smalltalk.withContext(function($ctx1) { 
 self['@' + aString] = anObject ;
+return self}, function($ctx1) {$ctx1.fill(self,"instVarAt:put:",{aString:aString,anObject:anObject},smalltalk.Object)})},
+args: ["aString", "anObject"],
+source: "instVarAt: aString put: anObject\x0a\x09< self['@' + aString] = anObject >",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -689,14 +689,14 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "perform:",
 selector: "perform:",
 category: 'message handling',
 category: 'message handling',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._perform_withArguments_(aSymbol,[]);
+$1=_st(self)._perform_withArguments_(aString,[]);
 return $1;
 return $1;
-}, function($ctx1) {$ctx1.fill(self,"perform:",{aSymbol:aSymbol},smalltalk.Object)})},
-args: ["aSymbol"],
-source: "perform: aSymbol\x0a\x09^self perform: aSymbol withArguments: #()",
+}, function($ctx1) {$ctx1.fill(self,"perform:",{aString:aString},smalltalk.Object)})},
+args: ["aString"],
+source: "perform: aString\x0a\x09^self perform: aString withArguments: #()",
 messageSends: ["perform:withArguments:"],
 messageSends: ["perform:withArguments:"],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -707,12 +707,12 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "perform:withArguments:",
 selector: "perform:withArguments:",
 category: 'message handling',
 category: 'message handling',
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.send(self, aSymbol._asSelector(), aCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"perform:withArguments:",{aSymbol:aSymbol,aCollection:aCollection},smalltalk.Object)})},
-args: ["aSymbol", "aCollection"],
-source: "perform: aSymbol withArguments: aCollection\x0a\x09<return smalltalk.send(self, aSymbol._asSelector(), aCollection)>",
+return smalltalk.withContext(function($ctx1) { 
return smalltalk.send(self, aString._asSelector(), aCollection);
+return self}, function($ctx1) {$ctx1.fill(self,"perform:withArguments:",{aString:aString,aCollection:aCollection},smalltalk.Object)})},
+args: ["aString", "aCollection"],
+source: "perform: aString withArguments: aCollection\x0a\x09<return smalltalk.send(self, aString._asSelector(), aCollection)>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -2059,12 +2059,12 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "at:",
 selector: "at:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self['@jsObject'][aSymbol._asString()];
-return self}, function($ctx1) {$ctx1.fill(self,"at:",{aSymbol:aSymbol},smalltalk.JSObjectProxy)})},
-args: ["aSymbol"],
-source: "at: aSymbol\x0a\x09<return self['@jsObject'][aSymbol._asString()]>",
+return smalltalk.withContext(function($ctx1) { 
return self['@jsObject'][aString];
+return self}, function($ctx1) {$ctx1.fill(self,"at:",{aString:aString},smalltalk.JSObjectProxy)})},
+args: ["aString"],
+source: "at: aString\x0a\x09<return self['@jsObject'][aString]>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -2075,16 +2075,15 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "at:ifAbsent:",
 selector: "at:ifAbsent:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? obj[symbol] : aBlock();
+		var obj = self['@jsObject'];
+		return aString in obj ? obj[aString] : aBlock();
 	;
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aSymbol:aSymbol,aBlock:aBlock},smalltalk.JSObjectProxy)})},
-args: ["aSymbol", "aBlock"],
-source: "at: aSymbol ifAbsent: aBlock\x0a\x09\x22return the aSymbol property or evaluate aBlock if the property is not defined on the object\x22\x0a\x09<\x0a\x09\x09var obj = self['@jsObject'],\x0a\x09\x09\x09symbol = aSymbol._asString();\x0a\x09\x09return symbol in obj ? obj[symbol] : aBlock();\x0a\x09>",
+return self}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aString:aString,aBlock:aBlock},smalltalk.JSObjectProxy)})},
+args: ["aString", "aBlock"],
+source: "at: aString ifAbsent: aBlock\x0a\x09\x22return the aString property or evaluate aBlock if the property is not defined on the object\x22\x0a\x09<\x0a\x09\x09var obj = self['@jsObject'];\x0a\x09\x09return aString in obj ? obj[aString] : aBlock();\x0a\x09>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -2095,16 +2094,15 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "at:ifPresent:",
 selector: "at:ifPresent:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? aBlock(obj[symbol]) : nil;
+		var obj = self['@jsObject'];
+		return aString in obj ? aBlock(obj[aString]) : nil;
 	;
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:",{aSymbol:aSymbol,aBlock:aBlock},smalltalk.JSObjectProxy)})},
-args: ["aSymbol", "aBlock"],
-source: "at: aSymbol ifPresent: aBlock\x0a\x09\x22return the evaluation of aBlock with the value if the property is defined or return nil\x22\x0a\x09<\x0a\x09\x09var obj = self['@jsObject'],\x0a\x09\x09\x09symbol = aSymbol._asString();\x0a\x09\x09return symbol in obj ? aBlock(obj[symbol]) : nil;\x0a\x09>",
+return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:",{aString:aString,aBlock:aBlock},smalltalk.JSObjectProxy)})},
+args: ["aString", "aBlock"],
+source: "at: aString ifPresent: aBlock\x0a\x09\x22return the evaluation of aBlock with the value if the property is defined or return nil\x22\x0a\x09<\x0a\x09\x09var obj = self['@jsObject'];\x0a\x09\x09return aString in obj ? aBlock(obj[aString]) : nil;\x0a\x09>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -2115,16 +2113,15 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "at:ifPresent:ifAbsent:",
 selector: "at:ifPresent:ifAbsent:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol,aBlock,anotherBlock){
+fn: function (aString,aBlock,anotherBlock){
 var self=this;
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 return smalltalk.withContext(function($ctx1) { 
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? aBlock(obj[symbol]) : anotherBlock();
+		var obj = self['@jsObject'];
+		return aString in obj ? aBlock(obj[aString]) : anotherBlock();
 	;
 	;
-return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{aSymbol:aSymbol,aBlock:aBlock,anotherBlock:anotherBlock},smalltalk.JSObjectProxy)})},
-args: ["aSymbol", "aBlock", "anotherBlock"],
-source: "at: aSymbol ifPresent: aBlock ifAbsent: anotherBlock\x0a\x09\x22return the evaluation of aBlock with the value if the property is defined\x0a\x09or return value of anotherBlock\x22\x0a\x09<\x0a\x09\x09var obj = self['@jsObject'],\x0a\x09\x09\x09symbol = aSymbol._asString();\x0a\x09\x09return symbol in obj ? aBlock(obj[symbol]) : anotherBlock();\x0a\x09>",
+return self}, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{aString:aString,aBlock:aBlock,anotherBlock:anotherBlock},smalltalk.JSObjectProxy)})},
+args: ["aString", "aBlock", "anotherBlock"],
+source: "at: aString ifPresent: aBlock ifAbsent: anotherBlock\x0a\x09\x22return the evaluation of aBlock with the value if the property is defined\x0a\x09or return value of anotherBlock\x22\x0a\x09<\x0a\x09\x09var obj = self['@jsObject'];\x0a\x09\x09return aString in obj ? aBlock(obj[aString]) : anotherBlock();\x0a\x09>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -2135,12 +2132,12 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "at:put:",
 selector: "at:put:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
self['@jsObject'][aSymbol._asString()] = anObject;
-return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{aSymbol:aSymbol,anObject:anObject},smalltalk.JSObjectProxy)})},
-args: ["aSymbol", "anObject"],
-source: "at: aSymbol put: anObject\x0a\x09<self['@jsObject'][aSymbol._asString()] = anObject>",
+return smalltalk.withContext(function($ctx1) { 
self['@jsObject'][aString] = anObject;
+return self}, function($ctx1) {$ctx1.fill(self,"at:put:",{aString:aString,anObject:anObject},smalltalk.JSObjectProxy)})},
+args: ["aString", "anObject"],
+source: "at: aString put: anObject\x0a\x09<self['@jsObject'][aString] = anObject>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -2317,7 +2314,7 @@ return smalltalk.withContext(function($ctx2) {
return smalltalk.Object.fn.protot
 return $1;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.JSObjectProxy)})},
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.JSObjectProxy)})},
 args: [],
 args: [],
-source: "value\x0a\x09\x22if attribute 'value' exists on the JS object return it,\x0a\x09otherwise return the result of Object>>value.\x22\x0a\x09^ self at: 'value' ifAbsent: [super value]",
+source: "value\x0a\x09\x22if attribute 'value' exists on the JS object return it,\x0a\x09otherwise return the result of Object>>value.\x22\x0a\x09\x0a\x09^ self \x0a\x09\x09at: 'value' \x0a\x09\x09ifAbsent: [ super value ]",
 messageSends: ["at:ifAbsent:", "value"],
 messageSends: ["at:ifAbsent:", "value"],
 referencedClasses: []
 referencedClasses: []
 }),
 }),
@@ -4252,12 +4249,12 @@ smalltalk.addMethod(
 smalltalk.method({
 smalltalk.method({
 selector: "at:",
 selector: "at:",
 category: 'accessing',
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 var self=this;
-return smalltalk.withContext(function($ctx1) { 
return self[aSymbol._asString()];
-return self}, function($ctx1) {$ctx1.fill(self,"at:",{aSymbol:aSymbol},smalltalk.Smalltalk)})},
-args: ["aSymbol"],
-source: "at: aSymbol\x0a\x09<return self[aSymbol._asString()]>",
+return smalltalk.withContext(function($ctx1) { 
return self[aString];
+return self}, function($ctx1) {$ctx1.fill(self,"at:",{aString:aString},smalltalk.Smalltalk)})},
+args: ["aString"],
+source: "at: aString\x0a\x09<return self[aString]>",
 messageSends: [],
 messageSends: [],
 referencedClasses: []
 referencedClasses: []
 }),
 }),

+ 0 - 251
js/Kernel-Tests.deploy.js

@@ -1680,257 +1680,6 @@ messageSends: []}),
 smalltalk.StringTest.klass);
 smalltalk.StringTest.klass);
 
 
 
 
-smalltalk.addClass('SymbolTest', smalltalk.SequenceableCollectionTest, [], 'Kernel-Tests');
-smalltalk.addMethod(
-"_collection",
-smalltalk.method({
-selector: "collection",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.symbolFor("hello");
-}, function($ctx1) {$ctx1.fill(self,"collection",{},smalltalk.SymbolTest)})},
-messageSends: []}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_collectionWithDuplicates",
-smalltalk.method({
-selector: "collectionWithDuplicates",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.symbolFor("phhaaarorra");
-}, function($ctx1) {$ctx1.fill(self,"collectionWithDuplicates",{},smalltalk.SymbolTest)})},
-messageSends: []}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAsString",
-smalltalk.method({
-selector: "testAsString",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._asString(),"hello");
-return self}, function($ctx1) {$ctx1.fill(self,"testAsString",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:equals:", "asString"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAsSymbol",
-smalltalk.method({
-selector: "testAsSymbol",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq_eq(_st(smalltalk.symbolFor("hello"))._asSymbol()));
-return self}, function($ctx1) {$ctx1.fill(self,"testAsSymbol",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:", "==", "asSymbol"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAt",
-smalltalk.method({
-selector: "testAt",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._at_((1)),"h");
-_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._at_((5)),"o");
-_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._at_ifAbsent_((6),(function(){
-return smalltalk.withContext(function($ctx2) {
return nil;
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})),nil);
-return self}, function($ctx1) {$ctx1.fill(self,"testAt",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:equals:", "at:", "at:ifAbsent:"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAtPut",
-smalltalk.method({
-selector: "testAtPut",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st("hello")._at_put_((1),"a");
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-return self}, function($ctx1) {$ctx1.fill(self,"testAtPut",{},smalltalk.SymbolTest)})},
-messageSends: ["should:raise:", "at:put:"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testCollect",
-smalltalk.method({
-selector: "testCollect",
-fn: function (){
-var self=this;
-var newCollection;
-return smalltalk.withContext(function($ctx1) { 
newCollection=smalltalk.symbolFor("hheelllloo");
-_st(self)._assertSameContents_as_(_st(_st(self)._collection())._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each).__comma(each);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})),newCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{newCollection:newCollection},smalltalk.SymbolTest)})},
-messageSends: ["assertSameContents:as:", "collect:", ",", "collection"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testComparing",
-smalltalk.method({
-selector: "testComparing",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__gt(smalltalk.symbolFor("aa")));
-_st(self)._deny_(_st(smalltalk.symbolFor("ab")).__gt(smalltalk.symbolFor("ba")));
-_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__lt(smalltalk.symbolFor("ba")));
-_st(self)._deny_(_st(smalltalk.symbolFor("bb")).__lt(smalltalk.symbolFor("ba")));
-_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__gt_eq(smalltalk.symbolFor("aa")));
-_st(self)._deny_(_st(smalltalk.symbolFor("ab")).__gt_eq(smalltalk.symbolFor("ba")));
-_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__lt_eq(smalltalk.symbolFor("ba")));
-_st(self)._deny_(_st(smalltalk.symbolFor("bb")).__lt_eq(smalltalk.symbolFor("ba")));
-return self}, function($ctx1) {$ctx1.fill(self,"testComparing",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:", ">", "deny:", "<", ">=", "<="]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testCopying",
-smalltalk.method({
-selector: "testCopying",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._copy()).__eq_eq(smalltalk.symbolFor("hello")));
-_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._deepCopy()).__eq_eq(smalltalk.symbolFor("hello")));
-return self}, function($ctx1) {$ctx1.fill(self,"testCopying",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:", "==", "copy", "deepCopy"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testDetect",
-smalltalk.method({
-selector: "testDetect",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(_st(self)._collection())._detect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each).__eq("h");
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})),"h");
-_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._collection())._detect_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(each).__eq("z");
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-return self}, function($ctx1) {$ctx1.fill(self,"testDetect",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:equals:", "detect:", "=", "collection", "should:raise:"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testEquality",
-smalltalk.method({
-selector: "testEquality",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq(smalltalk.symbolFor("hello")));
-_st(self)._deny_(_st(smalltalk.symbolFor("hello")).__eq(smalltalk.symbolFor("world")));
-_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq(_st(smalltalk.symbolFor("hello"))._yourself()));
-_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._yourself()).__eq(smalltalk.symbolFor("hello")));
-_st(self)._deny_(_st(smalltalk.symbolFor("hello")).__eq("hello"));
-_st(self)._deny_(_st("hello").__eq(smalltalk.symbolFor("hello")));
-return self}, function($ctx1) {$ctx1.fill(self,"testEquality",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:", "=", "deny:", "yourself"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIdentity",
-smalltalk.method({
-selector: "testIdentity",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq_eq(smalltalk.symbolFor("hello")));
-_st(self)._deny_(_st(smalltalk.symbolFor("hello")).__eq_eq(smalltalk.symbolFor("world")));
-_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq(_st(smalltalk.symbolFor("hello"))._yourself()));
-_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._yourself()).__eq(_st(_st(smalltalk.symbolFor("hello"))._asString())._asSymbol()));
-return self}, function($ctx1) {$ctx1.fill(self,"testIdentity",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:", "==", "deny:", "=", "yourself", "asSymbol", "asString"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIndexOf",
-smalltalk.method({
-selector: "testIndexOf",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(_st(self)._collection())._indexOf_("e"),(2));
-_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._collection())._indexOf_((999));
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-_st(self)._assert_equals_(_st(_st(self)._collection())._indexOf_ifAbsent_((999),(function(){
-return smalltalk.withContext(function($ctx2) {
return "sentinel";
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})),"sentinel");
-return self}, function($ctx1) {$ctx1.fill(self,"testIndexOf",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:equals:", "indexOf:", "collection", "should:raise:", "indexOf:ifAbsent:"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIsEmpty",
-smalltalk.method({
-selector: "testIsEmpty",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._deny_(_st(_st(self)._collection())._isEmpty());
-_st(self)._assert_(_st(_st("")._asSymbol())._isEmpty());
-return self}, function($ctx1) {$ctx1.fill(self,"testIsEmpty",{},smalltalk.SymbolTest)})},
-messageSends: ["deny:", "isEmpty", "collection", "assert:", "asSymbol"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIsSymbolIsString",
-smalltalk.method({
-selector: "testIsSymbolIsString",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello"))._isSymbol());
-_st(self)._deny_(_st("hello")._isSymbol());
-_st(self)._deny_(_st(smalltalk.symbolFor("hello"))._isString());
-_st(self)._assert_(_st("hello")._isString());
-return self}, function($ctx1) {$ctx1.fill(self,"testIsSymbolIsString",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:", "isSymbol", "deny:", "isString"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testSelect",
-smalltalk.method({
-selector: "testSelect",
-fn: function (){
-var self=this;
-var newCollection;
-return smalltalk.withContext(function($ctx1) { 
newCollection="o";
-_st(self)._assertSameContents_as_(_st(_st(self)._collection())._select_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each).__eq("o");
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})),newCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"testSelect",{newCollection:newCollection},smalltalk.SymbolTest)})},
-messageSends: ["assertSameContents:as:", "select:", "=", "collection"]}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testSize",
-smalltalk.method({
-selector: "testSize",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(smalltalk.symbolFor("a"))._size(),(1));
-_st(self)._assert_equals_(_st(smalltalk.symbolFor("aaaaa"))._size(),(5));
-return self}, function($ctx1) {$ctx1.fill(self,"testSize",{},smalltalk.SymbolTest)})},
-messageSends: ["assert:equals:", "size"]}),
-smalltalk.SymbolTest);
-
-
-smalltalk.addMethod(
-"_collectionClass",
-smalltalk.method({
-selector: "collectionClass",
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=(smalltalk.Symbol || Symbol);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"collectionClass",{},smalltalk.SymbolTest.klass)})},
-messageSends: []}),
-smalltalk.SymbolTest.klass);
-
-
 smalltalk.addClass('JSObjectProxyTest', smalltalk.TestCase, [], 'Kernel-Tests');
 smalltalk.addClass('JSObjectProxyTest', smalltalk.TestCase, [], 'Kernel-Tests');
 smalltalk.addMethod(
 smalltalk.addMethod(
 "_jsObject",
 "_jsObject",

+ 1 - 342
js/Kernel-Tests.js

@@ -2140,347 +2140,6 @@ referencedClasses: ["String"]
 smalltalk.StringTest.klass);
 smalltalk.StringTest.klass);
 
 
 
 
-smalltalk.addClass('SymbolTest', smalltalk.SequenceableCollectionTest, [], 'Kernel-Tests');
-smalltalk.addMethod(
-"_collection",
-smalltalk.method({
-selector: "collection",
-category: 'accessing',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.symbolFor("hello");
-}, function($ctx1) {$ctx1.fill(self,"collection",{},smalltalk.SymbolTest)})},
-args: [],
-source: "collection\x0a\x09^ #hello",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_collectionWithDuplicates",
-smalltalk.method({
-selector: "collectionWithDuplicates",
-category: 'accessing',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
return smalltalk.symbolFor("phhaaarorra");
-}, function($ctx1) {$ctx1.fill(self,"collectionWithDuplicates",{},smalltalk.SymbolTest)})},
-args: [],
-source: "collectionWithDuplicates\x0a\x09^ #phhaaarorra",
-messageSends: [],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAsString",
-smalltalk.method({
-selector: "testAsString",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._asString(),"hello");
-return self}, function($ctx1) {$ctx1.fill(self,"testAsString",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testAsString\x0a\x09self assert: #hello asString equals: 'hello'",
-messageSends: ["assert:equals:", "asString"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAsSymbol",
-smalltalk.method({
-selector: "testAsSymbol",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq_eq(_st(smalltalk.symbolFor("hello"))._asSymbol()));
-return self}, function($ctx1) {$ctx1.fill(self,"testAsSymbol",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testAsSymbol\x0a\x09self assert: #hello == #hello asSymbol",
-messageSends: ["assert:", "==", "asSymbol"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAt",
-smalltalk.method({
-selector: "testAt",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._at_((1)),"h");
-_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._at_((5)),"o");
-_st(self)._assert_equals_(_st(smalltalk.symbolFor("hello"))._at_ifAbsent_((6),(function(){
-return smalltalk.withContext(function($ctx2) {
return nil;
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})),nil);
-return self}, function($ctx1) {$ctx1.fill(self,"testAt",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testAt\x0a\x09self assert: (#hello at: 1) equals: 'h'.\x0a\x09self assert: (#hello at: 5) equals: 'o'.\x0a\x09self assert: (#hello at: 6 ifAbsent: [nil]) equals: nil",
-messageSends: ["assert:equals:", "at:", "at:ifAbsent:"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testAtPut",
-smalltalk.method({
-selector: "testAtPut",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st("hello")._at_put_((1),"a");
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-return self}, function($ctx1) {$ctx1.fill(self,"testAtPut",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testAtPut\x0a\x09\x22Symbol instances are read-only\x22\x0a\x09self should: ['hello' at: 1 put: 'a'] raise: Error",
-messageSends: ["should:raise:", "at:put:"],
-referencedClasses: ["Error"]
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testCollect",
-smalltalk.method({
-selector: "testCollect",
-category: 'tests',
-fn: function (){
-var self=this;
-var newCollection;
-return smalltalk.withContext(function($ctx1) { 
newCollection=smalltalk.symbolFor("hheelllloo");
-_st(self)._assertSameContents_as_(_st(_st(self)._collection())._collect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each).__comma(each);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})),newCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"testCollect",{newCollection:newCollection},smalltalk.SymbolTest)})},
-args: [],
-source: "testCollect\x0a\x09| newCollection |\x0a\x09newCollection := #hheelllloo.\x0a\x09self\x0a\x09\x09assertSameContents: (self collection collect: [ :each |\x0a\x09\x09\x09each, each ])\x0a\x09\x09as: newCollection",
-messageSends: ["assertSameContents:as:", "collect:", ",", "collection"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testComparing",
-smalltalk.method({
-selector: "testComparing",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__gt(smalltalk.symbolFor("aa")));
-_st(self)._deny_(_st(smalltalk.symbolFor("ab")).__gt(smalltalk.symbolFor("ba")));
-_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__lt(smalltalk.symbolFor("ba")));
-_st(self)._deny_(_st(smalltalk.symbolFor("bb")).__lt(smalltalk.symbolFor("ba")));
-_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__gt_eq(smalltalk.symbolFor("aa")));
-_st(self)._deny_(_st(smalltalk.symbolFor("ab")).__gt_eq(smalltalk.symbolFor("ba")));
-_st(self)._assert_(_st(smalltalk.symbolFor("ab")).__lt_eq(smalltalk.symbolFor("ba")));
-_st(self)._deny_(_st(smalltalk.symbolFor("bb")).__lt_eq(smalltalk.symbolFor("ba")));
-return self}, function($ctx1) {$ctx1.fill(self,"testComparing",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testComparing\x0a\x09self assert: #ab > #aa.\x0a\x09self deny: #ab > #ba.\x0a\x0a\x09self assert: #ab < #ba.\x0a\x09self deny: #bb < #ba.\x0a\x0a\x09self assert: #ab >= #aa.\x0a\x09self deny: #ab >= #ba.\x0a\x0a\x09self assert: #ab <= #ba.\x0a\x09self deny: #bb <= #ba",
-messageSends: ["assert:", ">", "deny:", "<", ">=", "<="],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testCopying",
-smalltalk.method({
-selector: "testCopying",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._copy()).__eq_eq(smalltalk.symbolFor("hello")));
-_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._deepCopy()).__eq_eq(smalltalk.symbolFor("hello")));
-return self}, function($ctx1) {$ctx1.fill(self,"testCopying",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testCopying\x0a\x09self assert: #hello copy == #hello.\x0a\x09self assert: #hello deepCopy == #hello",
-messageSends: ["assert:", "==", "copy", "deepCopy"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testDetect",
-smalltalk.method({
-selector: "testDetect",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(_st(self)._collection())._detect_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each).__eq("h");
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})),"h");
-_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._collection())._detect_((function(each){
-return smalltalk.withContext(function($ctx3) {
return _st(each).__eq("z");
-}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})}));
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-return self}, function($ctx1) {$ctx1.fill(self,"testDetect",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testDetect\x0a\x09self assert: (self collection detect: [ :each | each = 'h' ]) equals: 'h'.\x0a\x09self\x0a\x09\x09should: [ self collection detect: [ :each | each = 'z' ] ]\x0a\x09\x09raise: Error",
-messageSends: ["assert:equals:", "detect:", "=", "collection", "should:raise:"],
-referencedClasses: ["Error"]
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testEquality",
-smalltalk.method({
-selector: "testEquality",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq(smalltalk.symbolFor("hello")));
-_st(self)._deny_(_st(smalltalk.symbolFor("hello")).__eq(smalltalk.symbolFor("world")));
-_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq(_st(smalltalk.symbolFor("hello"))._yourself()));
-_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._yourself()).__eq(smalltalk.symbolFor("hello")));
-_st(self)._deny_(_st(smalltalk.symbolFor("hello")).__eq("hello"));
-_st(self)._deny_(_st("hello").__eq(smalltalk.symbolFor("hello")));
-return self}, function($ctx1) {$ctx1.fill(self,"testEquality",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testEquality\x0a\x09self assert: (#hello = #hello).\x0a\x09self deny: #hello = #world.\x0a\x0a\x09self assert: (#hello = #hello yourself).\x0a\x09self assert: (#hello yourself = #hello).\x0a\x0a\x09self deny: #hello = 'hello'.\x0a\x09self deny: 'hello' = #hello.",
-messageSends: ["assert:", "=", "deny:", "yourself"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIdentity",
-smalltalk.method({
-selector: "testIdentity",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq_eq(smalltalk.symbolFor("hello")));
-_st(self)._deny_(_st(smalltalk.symbolFor("hello")).__eq_eq(smalltalk.symbolFor("world")));
-_st(self)._assert_(_st(smalltalk.symbolFor("hello")).__eq(_st(smalltalk.symbolFor("hello"))._yourself()));
-_st(self)._assert_(_st(_st(smalltalk.symbolFor("hello"))._yourself()).__eq(_st(_st(smalltalk.symbolFor("hello"))._asString())._asSymbol()));
-return self}, function($ctx1) {$ctx1.fill(self,"testIdentity",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testIdentity\x0a\x09self assert: #hello == #hello.\x0a\x09self deny: #hello == #world.\x0a\x0a\x09self assert: #hello = #hello yourself.\x0a\x09self assert: #hello yourself = #hello asString asSymbol",
-messageSends: ["assert:", "==", "deny:", "=", "yourself", "asSymbol", "asString"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIndexOf",
-smalltalk.method({
-selector: "testIndexOf",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(_st(self)._collection())._indexOf_("e"),(2));
-_st(self)._should_raise_((function(){
-return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._collection())._indexOf_((999));
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),(smalltalk.Error || Error));
-_st(self)._assert_equals_(_st(_st(self)._collection())._indexOf_ifAbsent_((999),(function(){
-return smalltalk.withContext(function($ctx2) {
return "sentinel";
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})),"sentinel");
-return self}, function($ctx1) {$ctx1.fill(self,"testIndexOf",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testIndexOf\x0a\x09self assert: (self collection indexOf: 'e') equals: 2.\x0a\x09self should: [ self collection indexOf: 999 ] raise: Error.\x0a\x09self assert: (self collection indexOf: 999 ifAbsent: [ 'sentinel' ]) equals: 'sentinel'",
-messageSends: ["assert:equals:", "indexOf:", "collection", "should:raise:", "indexOf:ifAbsent:"],
-referencedClasses: ["Error"]
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIsEmpty",
-smalltalk.method({
-selector: "testIsEmpty",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._deny_(_st(_st(self)._collection())._isEmpty());
-_st(self)._assert_(_st(_st("")._asSymbol())._isEmpty());
-return self}, function($ctx1) {$ctx1.fill(self,"testIsEmpty",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testIsEmpty\x0a\x09self deny: self collection isEmpty.\x0a\x09self assert: '' asSymbol isEmpty",
-messageSends: ["deny:", "isEmpty", "collection", "assert:", "asSymbol"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testIsSymbolIsString",
-smalltalk.method({
-selector: "testIsSymbolIsString",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_(_st(smalltalk.symbolFor("hello"))._isSymbol());
-_st(self)._deny_(_st("hello")._isSymbol());
-_st(self)._deny_(_st(smalltalk.symbolFor("hello"))._isString());
-_st(self)._assert_(_st("hello")._isString());
-return self}, function($ctx1) {$ctx1.fill(self,"testIsSymbolIsString",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testIsSymbolIsString\x0a\x09self assert: #hello isSymbol.\x0a\x09self deny: 'hello' isSymbol.\x0a\x09self deny: #hello isString.\x0a\x09self assert: 'hello' isString",
-messageSends: ["assert:", "isSymbol", "deny:", "isString"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testSelect",
-smalltalk.method({
-selector: "testSelect",
-category: 'tests',
-fn: function (){
-var self=this;
-var newCollection;
-return smalltalk.withContext(function($ctx1) { 
newCollection="o";
-_st(self)._assertSameContents_as_(_st(_st(self)._collection())._select_((function(each){
-return smalltalk.withContext(function($ctx2) {
return _st(each).__eq("o");
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})),newCollection);
-return self}, function($ctx1) {$ctx1.fill(self,"testSelect",{newCollection:newCollection},smalltalk.SymbolTest)})},
-args: [],
-source: "testSelect\x0a\x09| newCollection |\x0a\x09newCollection := 'o'.\x0a\x09self\x0a\x09\x09assertSameContents: (self collection select: [ :each |\x0a\x09\x09\x09each = 'o' ])\x0a\x09\x09as: newCollection",
-messageSends: ["assertSameContents:as:", "select:", "=", "collection"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-smalltalk.addMethod(
-"_testSize",
-smalltalk.method({
-selector: "testSize",
-category: 'tests',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
_st(self)._assert_equals_(_st(smalltalk.symbolFor("a"))._size(),(1));
-_st(self)._assert_equals_(_st(smalltalk.symbolFor("aaaaa"))._size(),(5));
-return self}, function($ctx1) {$ctx1.fill(self,"testSize",{},smalltalk.SymbolTest)})},
-args: [],
-source: "testSize\x0a\x09self assert: #a size equals: 1.\x0a\x09self assert: #aaaaa size equals: 5",
-messageSends: ["assert:equals:", "size"],
-referencedClasses: []
-}),
-smalltalk.SymbolTest);
-
-
-smalltalk.addMethod(
-"_collectionClass",
-smalltalk.method({
-selector: "collectionClass",
-category: 'accessing',
-fn: function (){
-var self=this;
-return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=(smalltalk.Symbol || Symbol);
-return $1;
-}, function($ctx1) {$ctx1.fill(self,"collectionClass",{},smalltalk.SymbolTest.klass)})},
-args: [],
-source: "collectionClass\x0a\x09^ Symbol",
-messageSends: [],
-referencedClasses: ["Symbol"]
-}),
-smalltalk.SymbolTest.klass);
-
-
 smalltalk.addClass('JSObjectProxyTest', smalltalk.TestCase, [], 'Kernel-Tests');
 smalltalk.addClass('JSObjectProxyTest', smalltalk.TestCase, [], 'Kernel-Tests');
 smalltalk.addMethod(
 smalltalk.addMethod(
 "_jsObject",
 "_jsObject",
@@ -2550,7 +2209,7 @@ return smalltalk.withContext(function($ctx2) {
return _st("hello ").__comma(_st(
 }, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1)})})),"hello nil");
 }, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1)})})),"hello nil");
 return self}, function($ctx1) {$ctx1.fill(self,"testAtIfPresent",{testObject:testObject},smalltalk.JSObjectProxyTest)})},
 return self}, function($ctx1) {$ctx1.fill(self,"testAtIfPresent",{testObject:testObject},smalltalk.JSObjectProxyTest)})},
 args: [],
 args: [],
-source: "testAtIfPresent\x0a\x09| testObject |\x0a\x09testObject := self jsObject.\x0a\x09self assert: (testObject at: 'abc' ifPresent: [:x|'hello ',x asString]) equals: nil.\x0a\x09self assert: (testObject at: 'e' ifPresent: [:x|'hello ',x asString]) equals: 'hello nil'.\x0a\x09self assert: (testObject at: 'a' ifPresent: [:x|'hello ',x asString]) equals: 'hello 1'.\x0a\x09self assert: (testObject at: 'f' ifPresent: [:x|'hello ',x asString]) equals: 'hello nil'.",
+source: "testAtIfPresent\x0a\x09| testObject |\x0a\x09\x0a\x09testObject := self jsObject.\x0a\x09\x0a\x09self assert: (testObject at: 'abc' ifPresent: [ :x | 'hello ',x asString ]) equals: nil.\x0a\x09self assert: (testObject at: 'e' ifPresent: [:x | 'hello ',x asString ]) equals: 'hello nil'.\x0a\x09self assert: (testObject at: 'a' ifPresent: [:x | 'hello ',x asString ]) equals: 'hello 1'.\x0a\x09self assert: (testObject at: 'f' ifPresent: [:x | 'hello ',x asString ]) equals: 'hello nil'.",
 messageSends: ["jsObject", "assert:equals:", "at:ifPresent:", ",", "asString"],
 messageSends: ["jsObject", "assert:equals:", "at:ifPresent:", ",", "asString"],
 referencedClasses: []
 referencedClasses: []
 }),
 }),

+ 8 - 19
js/boot.js

@@ -71,9 +71,7 @@ function SmalltalkMetaclass() {
 function SmalltalkPackage() {}
 function SmalltalkPackage() {}
 function SmalltalkMethod() {}
 function SmalltalkMethod() {}
 function SmalltalkNil() {}
 function SmalltalkNil() {}
-function SmalltalkSymbol(string) {
-	this.value = string;
-}
+
 function SmalltalkOrganizer() {
 function SmalltalkOrganizer() {
 }
 }
 
 
@@ -165,17 +163,6 @@ function Smalltalk() {
 		}
 		}
 	};
 	};
 
 
-	/* The symbol table ensures symbol unicity */
-
-	var symbolTable = {};
-	st.symbolFor = function(string) {
-		if(symbolTable[string] === undefined) {
-			symbolTable[string] = new SmalltalkSymbol(string);
-		}
-
-		return symbolTable[string];
-	};
-
 	/* Unique ID number generator */
 	/* Unique ID number generator */
 
 
 	var oid = 0;
 	var oid = 0;
@@ -716,6 +703,9 @@ function Smalltalk() {
         }
         }
     };
     };
 
 
+    /* Backward compatibility with Amber 0.9.1 */
+    st.symbolFor = function(aString) { return aString; }
+
     /* Smalltalk initialization. Called on page load */
     /* Smalltalk initialization. Called on page load */
 
 
     st.initialize = function() {
     st.initialize = function() {
@@ -829,12 +819,11 @@ smalltalk.wrapClassName("Boolean", "Kernel-Objects", Boolean, smalltalk.Object);
 smalltalk.wrapClassName("Date", "Kernel-Objects", Date, smalltalk.Object);
 smalltalk.wrapClassName("Date", "Kernel-Objects", Date, smalltalk.Object);
 smalltalk.wrapClassName("UndefinedObject", "Kernel-Objects", SmalltalkNil, smalltalk.Object, false);
 smalltalk.wrapClassName("UndefinedObject", "Kernel-Objects", SmalltalkNil, smalltalk.Object, false);
 
 
-smalltalk.addClass("Collection", smalltalk.Object, null, "Kernel");
-smalltalk.addClass("IndexableCollection", smalltalk.Collection, null, "Kernel");
-smalltalk.addClass("SequenceableCollection", smalltalk.IndexableCollection, null, "Kernel");
-smalltalk.addClass("CharacterArray", smalltalk.SequenceableCollection, null, "Kernel");
+smalltalk.addClass("Collection", smalltalk.Object, null, "Kernel-Collections");
+smalltalk.addClass("IndexableCollection", smalltalk.Collection, null, "Kernel-Collections");
+smalltalk.addClass("SequenceableCollection", smalltalk.IndexableCollection, null, "Kernel-Collections");
+smalltalk.addClass("CharacterArray", smalltalk.SequenceableCollection, null, "Kernel-Collections");
 smalltalk.wrapClassName("String", "Kernel-Collections", String, smalltalk.CharacterArray);
 smalltalk.wrapClassName("String", "Kernel-Collections", String, smalltalk.CharacterArray);
-smalltalk.wrapClassName("Symbol", "Kernel-Collections", SmalltalkSymbol, smalltalk.CharacterArray, false);
 smalltalk.wrapClassName("Array", "Kernel-Collections", Array, smalltalk.SequenceableCollection);
 smalltalk.wrapClassName("Array", "Kernel-Collections", Array, smalltalk.SequenceableCollection);
 smalltalk.wrapClassName("RegularExpression", "Kernel-Collections", RegExp, smalltalk.Object);
 smalltalk.wrapClassName("RegularExpression", "Kernel-Collections", RegExp, smalltalk.Object);
 
 

+ 1 - 1
js/parser.js

@@ -892,7 +892,7 @@ smalltalk.parser = (function(){
         if (result0 !== null) {
         if (result0 !== null) {
           result0 = (function(offset, line, column, val) {
           result0 = (function(offset, line, column, val) {
                               return smalltalk.ValueNode._new()
                               return smalltalk.ValueNode._new()
-                                     ._value_(smalltalk.symbolFor(val.join("").replace(/\"/ig, '"')))
+                                     ._value_(val.join("").replace(/\"/ig, '"'))
                           })(pos0.offset, pos0.line, pos0.column, result0[1]);
                           })(pos0.offset, pos0.line, pos0.column, result0[1]);
         }
         }
         if (result0 === null) {
         if (result0 === null) {

+ 1 - 1
js/parser.pegjs

@@ -17,7 +17,7 @@ symbol         = "#"val:(
                        / node:string {return node._value()})*
                        / node:string {return node._value()})*
                   {
                   {
                       return smalltalk.ValueNode._new()
                       return smalltalk.ValueNode._new()
-                             ._value_(smalltalk.symbolFor(val.join("").replace(/\"/ig, '"')))
+                             ._value_(val.join("").replace(/\"/ig, '"'))
                   }
                   }
 number         = n:(hex / float / integer) {
 number         = n:(hex / float / integer) {
                      return smalltalk.ValueNode._new()
                      return smalltalk.ValueNode._new()

+ 4 - 4
st/Kernel-Classes.st

@@ -90,8 +90,8 @@ lookupSelector: selector
 	^ nil
 	^ nil
 !
 !
 
 
-methodAt: aSymbol
-	^ self methodDictionary at: aSymbol asString
+methodAt: aString
+	^ self methodDictionary at: aString
 !
 !
 
 
 methodDictionary
 methodDictionary
@@ -261,8 +261,8 @@ canUnderstand: aSelector
 		self superclass notNil and: [self superclass canUnderstand: aSelector]]
 		self superclass notNil and: [self superclass canUnderstand: aSelector]]
 !
 !
 
 
-includesSelector: aSymbol
-	^ self methodDictionary includesKey: aSymbol asString
+includesSelector: aString
+	^ self methodDictionary includesKey: aString
 !
 !
 
 
 inheritsFrom: aClass
 inheritsFrom: aClass

+ 2 - 139
st/Kernel-Collections.st

@@ -1049,7 +1049,7 @@ asString
 !
 !
 
 
 asSymbol
 asSymbol
-	^self subclassResponsibility
+	^self asString
 !
 !
 
 
 asUppercase
 asUppercase
@@ -1188,7 +1188,7 @@ asString
 !
 !
 
 
 asSymbol
 asSymbol
-	^Symbol lookup: self
+	^ self
 !
 !
 
 
 asUppercase
 asUppercase
@@ -1434,143 +1434,6 @@ randomNotIn: aString
     ^result
     ^result
 ! !
 ! !
 
 
-CharacterArray subclass: #Symbol
-	instanceVariableNames: ''
-	package: 'Kernel-Collections'!
-!Symbol commentStamp!
-I represent Strings that are created uniquely.
-Symbols are unique through the system.
-
-Thus, someString asSymbol == someString asSymbol.!
-
-!Symbol methodsFor: 'accessing'!
-
-at: anIndex ifAbsent: aBlock
-	^self asString at: anIndex ifAbsent: aBlock
-!
-
-indexOf: anElement
-	^ self asString indexOf: anElement
-!
-
-size
-	^self asString size
-! !
-
-!Symbol methodsFor: 'comparing'!
-
-< aSymbol
-	^self asString < aSymbol asString
-!
-
-<= aSymbol
-	^self asString <= aSymbol asString
-!
-
-= aSymbol
-	aSymbol class = self class ifFalse: [^false].
-	^self asString = aSymbol asString
-!
-
-> aSymbol
-	^self asString > aSymbol asString
-!
-
->= aSymbol
-	^self asString >= aSymbol asString
-! !
-
-!Symbol methodsFor: 'converting'!
-
-asJSON
-	^self asString asJSON
-!
-
-asJavascript
-	^'smalltalk.symbolFor(', self asString asJavascript, ')'
-!
-
-asSelector
-	^self asString asSelector
-!
-
-asString
-	<return self.value>
-!
-
-asSymbol
-	^self
-! !
-
-!Symbol methodsFor: 'copying'!
-
-copyFrom: anIndex to: anotherIndex
-	^self class fromString: (self asString copyFrom: anIndex to: anotherIndex)
-!
-
-deepCopy
-	^self
-!
-
-shallowCopy
-	^self
-! !
-
-!Symbol methodsFor: 'enumerating'!
-
-collect: aBlock
-	^ (self asString collect: aBlock) asSymbol
-!
-
-detect: aBlock
-	^ self asString detect: aBlock
-!
-
-do: aBlock
-	self asString do: aBlock
-!
-
-select: aBlock
-	^ (self asString select: aBlock) asSymbol
-!
-
-withIndexDo: aBlock
-	self asString withIndexDo: aBlock
-! !
-
-!Symbol methodsFor: 'evaluating'!
-
-value: anObject
-	^anObject perform: self
-! !
-
-!Symbol methodsFor: 'printing'!
-
-printOn: aStream
-	aStream nextPutAll: '#'.
-	super printOn: aStream
-! !
-
-!Symbol methodsFor: 'testing'!
-
-isSymbol
-	^true
-! !
-
-!Symbol class methodsFor: 'instance creation'!
-
-basicNew
-	self shouldNotImplement
-!
-
-fromString: aString
-	^self lookup: aString
-!
-
-lookup: aString
-	<return smalltalk.symbolFor(aString);>
-! !
-
 Collection subclass: #Set
 Collection subclass: #Set
 	instanceVariableNames: 'elements'
 	instanceVariableNames: 'elements'
 	package: 'Kernel-Collections'!
 	package: 'Kernel-Collections'!

+ 32 - 32
st/Kernel-Objects.st

@@ -67,12 +67,12 @@ identityHash
 	>
 	>
 !
 !
 
 
-instVarAt: aSymbol
-	<return self['@'+aSymbol._asString()]>
+instVarAt: aString
+	< return self['@'+aString] >
 !
 !
 
 
-instVarAt: aSymbol put: anObject
-	<self['@' + aSymbol._asString()] = anObject>
+instVarAt: aString put: anObject
+	< self['@' + aString] = anObject >
 !
 !
 
 
 size
 size
@@ -217,20 +217,20 @@ initialize
 
 
 !Object methodsFor: 'message handling'!
 !Object methodsFor: 'message handling'!
 
 
-basicPerform: aSymbol
-	^self basicPerform: aSymbol withArguments: #()
+basicPerform: aString
+	^self basicPerform: aString withArguments: #()
 !
 !
 
 
-basicPerform: aSymbol withArguments: aCollection
-	<return self[aSymbol].apply(self, aCollection);>
+basicPerform: aString withArguments: aCollection
+	<return self[aString].apply(self, aCollection);>
 !
 !
 
 
-perform: aSymbol
-	^self perform: aSymbol withArguments: #()
+perform: aString
+	^self perform: aString withArguments: #()
 !
 !
 
 
-perform: aSymbol withArguments: aCollection
-	<return smalltalk.send(self, aSymbol._asSelector(), aCollection)>
+perform: aString withArguments: aCollection
+	<return smalltalk.send(self, aString._asSelector(), aCollection)>
 ! !
 ! !
 
 
 !Object methodsFor: 'printing'!
 !Object methodsFor: 'printing'!
@@ -675,40 +675,37 @@ __Note:__ For keyword-based messages, only the first keyword is kept: `window fo
 
 
 !JSObjectProxy methodsFor: 'accessing'!
 !JSObjectProxy methodsFor: 'accessing'!
 
 
-at: aSymbol
-	<return self['@jsObject'][aSymbol._asString()]>
+at: aString
+	<return self['@jsObject'][aString]>
 !
 !
 
 
-at: aSymbol ifAbsent: aBlock
-	"return the aSymbol property or evaluate aBlock if the property is not defined on the object"
+at: aString ifAbsent: aBlock
+	"return the aString property or evaluate aBlock if the property is not defined on the object"
 	<
 	<
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? obj[symbol] : aBlock();
+		var obj = self['@jsObject'];
+		return aString in obj ? obj[aString] : aBlock();
 	>
 	>
 !
 !
 
 
-at: aSymbol ifPresent: aBlock
+at: aString ifPresent: aBlock
 	"return the evaluation of aBlock with the value if the property is defined or return nil"
 	"return the evaluation of aBlock with the value if the property is defined or return nil"
 	<
 	<
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? aBlock(obj[symbol]) : nil;
+		var obj = self['@jsObject'];
+		return aString in obj ? aBlock(obj[aString]) : nil;
 	>
 	>
 !
 !
 
 
-at: aSymbol ifPresent: aBlock ifAbsent: anotherBlock
+at: aString ifPresent: aBlock ifAbsent: anotherBlock
 	"return the evaluation of aBlock with the value if the property is defined
 	"return the evaluation of aBlock with the value if the property is defined
 	or return value of anotherBlock"
 	or return value of anotherBlock"
 	<
 	<
-		var obj = self['@jsObject'],
-			symbol = aSymbol._asString();
-		return symbol in obj ? aBlock(obj[symbol]) : anotherBlock();
+		var obj = self['@jsObject'];
+		return aString in obj ? aBlock(obj[aString]) : anotherBlock();
 	>
 	>
 !
 !
 
 
-at: aSymbol put: anObject
-	<self['@jsObject'][aSymbol._asString()] = anObject>
+at: aString put: anObject
+	<self['@jsObject'][aString] = anObject>
 !
 !
 
 
 jsObject
 jsObject
@@ -722,7 +719,10 @@ jsObject: aJSObject
 value
 value
 	"if attribute 'value' exists on the JS object return it,
 	"if attribute 'value' exists on the JS object return it,
 	otherwise return the result of Object>>value."
 	otherwise return the result of Object>>value."
-	^ self at: 'value' ifAbsent: [super value]
+	
+	^ self 
+		at: 'value' 
+		ifAbsent: [ super value ]
 ! !
 ! !
 
 
 !JSObjectProxy methodsFor: 'enumerating'!
 !JSObjectProxy methodsFor: 'enumerating'!
@@ -1510,8 +1510,8 @@ It requires the `Compiler` package and the `js/parser.js` parser file in order t
 
 
 !Smalltalk methodsFor: 'accessing'!
 !Smalltalk methodsFor: 'accessing'!
 
 
-at: aSymbol
-	<return self[aSymbol._asString()]>
+at: aString
+	<return self[aString]>
 !
 !
 
 
 parse: aString
 parse: aString

+ 6 - 131
st/Kernel-Tests.st

@@ -871,133 +871,6 @@ collectionClass
 	^ String
 	^ String
 ! !
 ! !
 
 
-SequenceableCollectionTest subclass: #SymbolTest
-	instanceVariableNames: ''
-	package: 'Kernel-Tests'!
-
-!SymbolTest methodsFor: 'accessing'!
-
-collection
-	^ #hello
-!
-
-collectionWithDuplicates
-	^ #phhaaarorra
-! !
-
-!SymbolTest methodsFor: 'tests'!
-
-testAsString
-	self assert: #hello asString equals: 'hello'
-!
-
-testAsSymbol
-	self assert: #hello == #hello asSymbol
-!
-
-testAt
-	self assert: (#hello at: 1) equals: 'h'.
-	self assert: (#hello at: 5) equals: 'o'.
-	self assert: (#hello at: 6 ifAbsent: [nil]) equals: nil
-!
-
-testAtPut
-	"Symbol instances are read-only"
-	self should: ['hello' at: 1 put: 'a'] raise: Error
-!
-
-testCollect
-	| newCollection |
-	newCollection := #hheelllloo.
-	self
-		assertSameContents: (self collection collect: [ :each |
-			each, each ])
-		as: newCollection
-!
-
-testComparing
-	self assert: #ab > #aa.
-	self deny: #ab > #ba.
-
-	self assert: #ab < #ba.
-	self deny: #bb < #ba.
-
-	self assert: #ab >= #aa.
-	self deny: #ab >= #ba.
-
-	self assert: #ab <= #ba.
-	self deny: #bb <= #ba
-!
-
-testCopying
-	self assert: #hello copy == #hello.
-	self assert: #hello deepCopy == #hello
-!
-
-testDetect
-	self assert: (self collection detect: [ :each | each = 'h' ]) equals: 'h'.
-	self
-		should: [ self collection detect: [ :each | each = 'z' ] ]
-		raise: Error
-!
-
-testEquality
-	self assert: (#hello = #hello).
-	self deny: #hello = #world.
-
-	self assert: (#hello = #hello yourself).
-	self assert: (#hello yourself = #hello).
-
-	self deny: #hello = 'hello'.
-	self deny: 'hello' = #hello.
-!
-
-testIdentity
-	self assert: #hello == #hello.
-	self deny: #hello == #world.
-
-	self assert: #hello = #hello yourself.
-	self assert: #hello yourself = #hello asString asSymbol
-!
-
-testIndexOf
-	self assert: (self collection indexOf: 'e') equals: 2.
-	self should: [ self collection indexOf: 999 ] raise: Error.
-	self assert: (self collection indexOf: 999 ifAbsent: [ 'sentinel' ]) equals: 'sentinel'
-!
-
-testIsEmpty
-	self deny: self collection isEmpty.
-	self assert: '' asSymbol isEmpty
-!
-
-testIsSymbolIsString
-	self assert: #hello isSymbol.
-	self deny: 'hello' isSymbol.
-	self deny: #hello isString.
-	self assert: 'hello' isString
-!
-
-testSelect
-	| newCollection |
-	newCollection := 'o'.
-	self
-		assertSameContents: (self collection select: [ :each |
-			each = 'o' ])
-		as: newCollection
-!
-
-testSize
-	self assert: #a size equals: 1.
-	self assert: #aaaaa size equals: 5
-! !
-
-!SymbolTest class methodsFor: 'accessing'!
-
-collectionClass
-	^ Symbol
-! !
-
 TestCase subclass: #JSObjectProxyTest
 TestCase subclass: #JSObjectProxyTest
 	instanceVariableNames: ''
 	instanceVariableNames: ''
 	package: 'Kernel-Tests'!
 	package: 'Kernel-Tests'!
@@ -1021,11 +894,13 @@ testAtIfAbsent
 
 
 testAtIfPresent
 testAtIfPresent
 	| testObject |
 	| testObject |
+	
 	testObject := self jsObject.
 	testObject := self jsObject.
-	self assert: (testObject at: 'abc' ifPresent: [:x|'hello ',x asString]) equals: nil.
-	self assert: (testObject at: 'e' ifPresent: [:x|'hello ',x asString]) equals: 'hello nil'.
-	self assert: (testObject at: 'a' ifPresent: [:x|'hello ',x asString]) equals: 'hello 1'.
-	self assert: (testObject at: 'f' ifPresent: [:x|'hello ',x asString]) equals: 'hello nil'.
+	
+	self assert: (testObject at: 'abc' ifPresent: [ :x | 'hello ',x asString ]) equals: nil.
+	self assert: (testObject at: 'e' ifPresent: [:x | 'hello ',x asString ]) equals: 'hello nil'.
+	self assert: (testObject at: 'a' ifPresent: [:x | 'hello ',x asString ]) equals: 'hello 1'.
+	self assert: (testObject at: 'f' ifPresent: [:x | 'hello ',x asString ]) equals: 'hello nil'.
 !
 !
 
 
 testAtIfPresentIfAbsent
 testAtIfPresentIfAbsent