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_",
 smalltalk.method({
 selector: "includesSelector:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 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;
-}, 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.addMethod(
@@ -332,13 +332,13 @@ smalltalk.addMethod(
 "_methodAt_",
 smalltalk.method({
 selector: "methodAt:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 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;
-}, 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.addMethod(

+ 12 - 12
js/Kernel-Classes.js

@@ -348,15 +348,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "includesSelector:",
 category: 'testing',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 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;
-}, 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: []
 }),
 smalltalk.Behavior);
@@ -434,15 +434,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "methodAt:",
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 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;
-}, 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: []
 }),
 smalltalk.Behavior);

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

@@ -2249,10 +2249,10 @@ selector: "asSymbol",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._subclassResponsibility();
+$1=_st(self)._asString();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.CharacterArray)})},
-messageSends: ["subclassResponsibility"]}),
+messageSends: ["asString"]}),
 smalltalk.CharacterArray);
 
 smalltalk.addMethod(
@@ -2529,10 +2529,10 @@ selector: "asSymbol",
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st((smalltalk.Symbol || Symbol))._lookup_(self);
+$1=self;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.String)})},
-messageSends: ["lookup:"]}),
+messageSends: []}),
 smalltalk.String);
 
 smalltalk.addMethod(
@@ -3152,351 +3152,6 @@ messageSends: []}),
 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.addMethod(
 "__eq",

+ 7 - 488
js/Kernel-Collections.js

@@ -3023,12 +3023,12 @@ category: 'converting',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._subclassResponsibility();
+$1=_st(self)._asString();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.CharacterArray)})},
 args: [],
-source: "asSymbol\x0a\x09^self subclassResponsibility",
-messageSends: ["subclassResponsibility"],
+source: "asSymbol\x0a\x09^self asString",
+messageSends: ["asString"],
 referencedClasses: []
 }),
 smalltalk.CharacterArray);
@@ -3419,13 +3419,13 @@ category: 'converting',
 fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st((smalltalk.Symbol || Symbol))._lookup_(self);
+$1=self;
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"asSymbol",{},smalltalk.String)})},
 args: [],
-source: "asSymbol\x0a\x09^Symbol lookup: self",
-messageSends: ["lookup:"],
-referencedClasses: ["Symbol"]
+source: "asSymbol\x0a\x09^ self",
+messageSends: [],
+referencedClasses: []
 }),
 smalltalk.String);
 
@@ -4271,487 +4271,6 @@ referencedClasses: []
 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.Set.comment="I represent an unordered set of objects without duplicates."
 smalltalk.addMethod(

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

@@ -133,12 +133,12 @@ smalltalk.addMethod(
 "_basicPerform_",
 smalltalk.method({
 selector: "basicPerform:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._basicPerform_withArguments_(aSymbol,[]);
+$1=_st(self)._basicPerform_withArguments_(aString,[]);
 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:"]}),
 smalltalk.Object);
 
@@ -146,10 +146,10 @@ smalltalk.addMethod(
 "_basicPerform_withArguments_",
 smalltalk.method({
 selector: "basicPerform:withArguments:",
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 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: []}),
 smalltalk.Object);
 
@@ -327,10 +327,10 @@ smalltalk.addMethod(
 "_instVarAt_",
 smalltalk.method({
 selector: "instVarAt:",
-fn: function (aSymbol){
+fn: function (aString){
 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: []}),
 smalltalk.Object);
 
@@ -338,10 +338,10 @@ smalltalk.addMethod(
 "_instVarAt_put_",
 smalltalk.method({
 selector: "instVarAt:put:",
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 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: []}),
 smalltalk.Object);
 
@@ -492,12 +492,12 @@ smalltalk.addMethod(
 "_perform_",
 smalltalk.method({
 selector: "perform:",
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._perform_withArguments_(aSymbol,[]);
+$1=_st(self)._perform_withArguments_(aString,[]);
 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:"]}),
 smalltalk.Object);
 
@@ -505,10 +505,10 @@ smalltalk.addMethod(
 "_perform_withArguments_",
 smalltalk.method({
 selector: "perform:withArguments:",
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 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: []}),
 smalltalk.Object);
 
@@ -1469,10 +1469,10 @@ smalltalk.addMethod(
 "_at_",
 smalltalk.method({
 selector: "at:",
-fn: function (aSymbol){
+fn: function (aString){
 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: []}),
 smalltalk.JSObjectProxy);
 
@@ -1480,14 +1480,13 @@ smalltalk.addMethod(
 "_at_ifAbsent_",
 smalltalk.method({
 selector: "at:ifAbsent:",
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 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: []}),
 smalltalk.JSObjectProxy);
 
@@ -1495,14 +1494,13 @@ smalltalk.addMethod(
 "_at_ifPresent_",
 smalltalk.method({
 selector: "at:ifPresent:",
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 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: []}),
 smalltalk.JSObjectProxy);
 
@@ -1510,14 +1508,13 @@ smalltalk.addMethod(
 "_at_ifPresent_ifAbsent_",
 smalltalk.method({
 selector: "at:ifPresent:ifAbsent:",
-fn: function (aSymbol,aBlock,anotherBlock){
+fn: function (aString,aBlock,anotherBlock){
 var self=this;
 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: []}),
 smalltalk.JSObjectProxy);
 
@@ -1525,10 +1522,10 @@ smalltalk.addMethod(
 "_at_put_",
 smalltalk.method({
 selector: "at:put:",
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 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: []}),
 smalltalk.JSObjectProxy);
 
@@ -3087,10 +3084,10 @@ smalltalk.addMethod(
 "_at_",
 smalltalk.method({
 selector: "at:",
-fn: function (aSymbol){
+fn: function (aString){
 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: []}),
 smalltalk.Smalltalk);
 

+ 64 - 67
js/Kernel-Objects.js

@@ -185,14 +185,14 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "basicPerform:",
 category: 'message handling',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._basicPerform_withArguments_(aSymbol,[]);
+$1=_st(self)._basicPerform_withArguments_(aString,[]);
 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:"],
 referencedClasses: []
 }),
@@ -203,12 +203,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "basicPerform:withArguments:",
 category: 'message handling',
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 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: [],
 referencedClasses: []
 }),
@@ -454,12 +454,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "instVarAt:",
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 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: [],
 referencedClasses: []
 }),
@@ -470,12 +470,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "instVarAt:put:",
 category: 'accessing',
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 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: [],
 referencedClasses: []
 }),
@@ -689,14 +689,14 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "perform:",
 category: 'message handling',
-fn: function (aSymbol){
+fn: function (aString){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
var $1;
-$1=_st(self)._perform_withArguments_(aSymbol,[]);
+$1=_st(self)._perform_withArguments_(aString,[]);
 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:"],
 referencedClasses: []
 }),
@@ -707,12 +707,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "perform:withArguments:",
 category: 'message handling',
-fn: function (aSymbol,aCollection){
+fn: function (aString,aCollection){
 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: [],
 referencedClasses: []
 }),
@@ -2059,12 +2059,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "at:",
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 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: [],
 referencedClasses: []
 }),
@@ -2075,16 +2075,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "at:ifAbsent:",
 category: 'accessing',
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 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: [],
 referencedClasses: []
 }),
@@ -2095,16 +2094,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "at:ifPresent:",
 category: 'accessing',
-fn: function (aSymbol,aBlock){
+fn: function (aString,aBlock){
 var self=this;
 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: [],
 referencedClasses: []
 }),
@@ -2115,16 +2113,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "at:ifPresent:ifAbsent:",
 category: 'accessing',
-fn: function (aSymbol,aBlock,anotherBlock){
+fn: function (aString,aBlock,anotherBlock){
 var self=this;
 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: [],
 referencedClasses: []
 }),
@@ -2135,12 +2132,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "at:put:",
 category: 'accessing',
-fn: function (aSymbol,anObject){
+fn: function (aString,anObject){
 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: [],
 referencedClasses: []
 }),
@@ -2317,7 +2314,7 @@ return smalltalk.withContext(function($ctx2) {
return smalltalk.Object.fn.protot
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.JSObjectProxy)})},
 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"],
 referencedClasses: []
 }),
@@ -4252,12 +4249,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "at:",
 category: 'accessing',
-fn: function (aSymbol){
+fn: function (aString){
 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: [],
 referencedClasses: []
 }),

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

@@ -1680,257 +1680,6 @@ messageSends: []}),
 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.addMethod(
 "_jsObject",

+ 1 - 342
js/Kernel-Tests.js

@@ -2140,347 +2140,6 @@ referencedClasses: ["String"]
 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.addMethod(
 "_jsObject",
@@ -2550,7 +2209,7 @@ return smalltalk.withContext(function($ctx2) {
return _st("hello ").__comma(_st(
 }, function($ctx2) {$ctx2.fillBlock({x:x},$ctx1)})})),"hello nil");
 return self}, function($ctx1) {$ctx1.fill(self,"testAtIfPresent",{testObject:testObject},smalltalk.JSObjectProxyTest)})},
 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"],
 referencedClasses: []
 }),

+ 8 - 19
js/boot.js

@@ -71,9 +71,7 @@ function SmalltalkMetaclass() {
 function SmalltalkPackage() {}
 function SmalltalkMethod() {}
 function SmalltalkNil() {}
-function SmalltalkSymbol(string) {
-	this.value = string;
-}
+
 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 */
 
 	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 */
 
     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("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("Symbol", "Kernel-Collections", SmalltalkSymbol, smalltalk.CharacterArray, false);
 smalltalk.wrapClassName("Array", "Kernel-Collections", Array, smalltalk.SequenceableCollection);
 smalltalk.wrapClassName("RegularExpression", "Kernel-Collections", RegExp, smalltalk.Object);
 

+ 1 - 1
js/parser.js

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

+ 1 - 1
js/parser.pegjs

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

+ 4 - 4
st/Kernel-Classes.st

@@ -90,8 +90,8 @@ lookupSelector: selector
 	^ nil
 !
 
-methodAt: aSymbol
-	^ self methodDictionary at: aSymbol asString
+methodAt: aString
+	^ self methodDictionary at: aString
 !
 
 methodDictionary
@@ -261,8 +261,8 @@ 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

+ 2 - 139
st/Kernel-Collections.st

@@ -1049,7 +1049,7 @@ asString
 !
 
 asSymbol
-	^self subclassResponsibility
+	^self asString
 !
 
 asUppercase
@@ -1188,7 +1188,7 @@ asString
 !
 
 asSymbol
-	^Symbol lookup: self
+	^ self
 !
 
 asUppercase
@@ -1434,143 +1434,6 @@ randomNotIn: aString
     ^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
 	instanceVariableNames: 'elements'
 	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
@@ -217,20 +217,20 @@ initialize
 
 !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'!
@@ -675,40 +675,37 @@ __Note:__ For keyword-based messages, only the first keyword is kept: `window fo
 
 !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"
 	<
-		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
 	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
@@ -722,7 +719,10 @@ jsObject: aJSObject
 value
 	"if attribute 'value' exists on the JS object return it,
 	otherwise return the result of Object>>value."
-	^ self at: 'value' ifAbsent: [super value]
+	
+	^ self 
+		at: 'value' 
+		ifAbsent: [ super value ]
 ! !
 
 !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'!
 
-at: aSymbol
-	<return self[aSymbol._asString()]>
+at: aString
+	<return self[aString]>
 !
 
 parse: aString

+ 6 - 131
st/Kernel-Tests.st

@@ -871,133 +871,6 @@ collectionClass
 	^ 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
 	instanceVariableNames: ''
 	package: 'Kernel-Tests'!
@@ -1021,11 +894,13 @@ testAtIfAbsent
 
 testAtIfPresent
 	| testObject |
+	
 	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