Browse Source

Merge branch 'master' into traits-in-core

# Conflicts:
#	CHANGELOG
#	src/Kernel-Classes.js
Herbert Vojčík 7 years ago
parent
commit
8009f16408

+ 10 - 0
CHANGELOG

@@ -7,6 +7,16 @@
 Commits: https://lolg.it/amber/amber/commits/0.19.0.
 
 
+? April 2017 - Release 0.18.6
+===================================
+
+* Removed `.allowJavaScriptCalls` flag.
+* Internal `.isNil` deprecated in favour of `.a$nil`.
+* Internal `.klass` deprecated in favour of `.a$cls`.
+
+Commits: https://lolg.it/amber/amber/commits/0.18.6.
+
+
 7 April 2017 - Release 0.18.5
 ===================================
 

+ 57 - 57
external/amber-cli/src/AmberCli.js

@@ -53,7 +53,7 @@ return $recv($recv($recv(each)._allButLast())._replace_with_("([A-Z])","-$1"))._
 }));
 return switches;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"commandLineSwitches",{switches:switches},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"commandLineSwitches",{switches:switches},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -63,7 +63,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["collect:", "methodsInProtocol:", "class", "selector", "select:", "match:", "asLowercase", "replace:with:", "allButLast"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -77,7 +77,7 @@ return $core.withContext(function($ctx1) {
 $recv($recv($globals.Configurator)._new())._start();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"config:",{args:args},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"config:",{args:args},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -87,7 +87,7 @@ referencedClasses: ["Configurator"],
 //>>excludeEnd("ide");
 messageSends: ["start", "new"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -109,7 +109,7 @@ $recv(args)._remove_($recv(args)._first());
 self._perform_withArguments_(selector,$recv($globals.Array)._with_(args));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"handleArguments:",{args:args,selector:selector},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"handleArguments:",{args:args,selector:selector},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -119,7 +119,7 @@ referencedClasses: ["Array"],
 //>>excludeEnd("ide");
 messageSends: ["selectorForCommandLineSwitch:", "first", "remove:", "perform:withArguments:", "with:"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -142,7 +142,7 @@ return $recv(console)._log_(each);
 }));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"help:",{args:args},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"help:",{args:args},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -152,7 +152,7 @@ referencedClasses: ["Transcript"],
 //>>excludeEnd("ide");
 messageSends: ["show:", "do:", "commandLineSwitches", "log:"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -166,7 +166,7 @@ return $core.withContext(function($ctx1) {
 $recv($recv($globals.Initer)._new())._start();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"init:",{args:args},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"init:",{args:args},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -176,7 +176,7 @@ referencedClasses: ["Initer"],
 //>>excludeEnd("ide");
 messageSends: ["start", "new"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -241,7 +241,7 @@ return self;
 }
 catch(e) {if(e===$early)return e[0]; throw e}
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"main",{args:args,packageJSON:packageJSON},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"main",{args:args,packageJSON:packageJSON},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -251,7 +251,7 @@ referencedClasses: ["Transcript", "Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["value:", "show:", ",", "version", "node", "versions", "argv", "removeFrom:to:", "ifEmpty:ifNotEmpty:", "help:", "handleArguments:"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -264,7 +264,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv($recv($globals.Repl)._new())._createInterface();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"repl:",{args:args},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"repl:",{args:args},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -274,7 +274,7 @@ referencedClasses: ["Repl"],
 //>>excludeEnd("ide");
 messageSends: ["createInterface", "new"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -305,7 +305,7 @@ selector;
 }
 return selector;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"selectorForCommandLineSwitch:",{aSwitch:aSwitch,command:command,selector:selector},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"selectorForCommandLineSwitch:",{aSwitch:aSwitch,command:command,selector:selector},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -315,7 +315,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifTrue:ifFalse:", "includes:", "commandLineSwitches", ",", "replace:with:", "asUppercase", "second"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -328,7 +328,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv($recv($globals.FileServer)._createServerWithArguments_(args))._start();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"serve:",{args:args},$globals.AmberCli.klass)});
+}, function($ctx1) {$ctx1.fill(self,"serve:",{args:args},$globals.AmberCli.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -338,7 +338,7 @@ referencedClasses: ["FileServer"],
 //>>excludeEnd("ide");
 messageSends: ["start", "createServerWithArguments:"]
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -356,7 +356,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.AmberCli.klass);
+$globals.AmberCli.a$cls);
 
 
 $core.addClass("BaseFileManipulator", $globals.Object, ["path", "fs"], "AmberCli");
@@ -491,7 +491,7 @@ self._writeConfigThenDo_((function(err){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-if(($receiver = err) == null || $receiver.isNil){
+if(($receiver = err) == null || $receiver.a$nil){
 return $recv(process)._exit();
 } else {
 return $recv(process)._exit_((111));
@@ -579,7 +579,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@basePath"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $recv(self._class())._defaultBasePath();
 } else {
 return $1;
@@ -1040,7 +1040,7 @@ $3=$recv($recv(aRequest)._headers())._at_("authorization");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["at:"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $3) == null || $receiver.isNil){
+if(($receiver = $3) == null || $receiver.a$nil){
 header="";
 } else {
 header=$3;
@@ -1056,7 +1056,7 @@ $4=$recv(header)._tokenize_(" ");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx["tokenize:"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $4) == null || $receiver.isNil){
+if(($receiver = $4) == null || $receiver.a$nil){
 token="";
 } else {
 token=$4;
@@ -1267,7 +1267,7 @@ self._respondFileNamed_to_($3,aResponse);
 } else {
 $5=$recv($recv(aUrl)._pathname()).__comma("/");
 $7=$recv(aUrl)._search();
-if(($receiver = $7) == null || $receiver.isNil){
+if(($receiver = $7) == null || $receiver.a$nil){
 $6="";
 } else {
 $6=$7;
@@ -1650,7 +1650,7 @@ $recv($1)._stat_then_($2,(function(err,stat){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-if(($receiver = err) == null || $receiver.isNil){
+if(($receiver = err) == null || $receiver.a$nil){
 $3=$recv(stat)._isDirectory();
 if(!$core.assert($3)){
 $4=console;
@@ -1745,7 +1745,7 @@ messageSends: ["log:"]
 $globals.FileServer);
 
 
-$globals.FileServer.klass.iVarNames = ["mimeTypes"];
+$globals.FileServer.a$cls.iVarNames = ["mimeTypes"];
 $core.addMethod(
 $core.method({
 selector: "commandLineSwitches",
@@ -1791,7 +1791,7 @@ $ctx2.sendIdx["replace:with:"]=1;
 }));
 return switches;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"commandLineSwitches",{switches:switches},$globals.FileServer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"commandLineSwitches",{switches:switches},$globals.FileServer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1801,7 +1801,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["collect:", "methodsInProtocol:", "selector", "select:", "match:", "replace:with:", "asLowercase", "allButLast"]
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1904,7 +1904,7 @@ return server;
 }
 catch(e) {if(e===$early)return e[0]; throw e}
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"createServerWithArguments:",{options:options,server:server,popFront:popFront,front:front,optionName:optionName,optionValue:optionValue,switches:switches},$globals.FileServer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"createServerWithArguments:",{options:options,server:server,popFront:popFront,front:front,optionName:optionName,optionValue:optionValue,switches:switches},$globals.FileServer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1914,7 +1914,7 @@ referencedClasses: ["Array"],
 //>>excludeEnd("ide");
 messageSends: ["commandLineSwitches", "new", "ifEmpty:", "ifFalse:", "even", "size", "log:", ",", "first", "remove:", "whileTrue:", "notEmpty", "value:", "ifTrue:ifFalse:", "includes:", "selectorForCommandLineSwitch:", "perform:withArguments:", "with:"]
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1932,7 +1932,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1950,7 +1950,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1968,7 +1968,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1986,7 +1986,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2029,7 +2029,7 @@ return self;
 }
 catch(e) {if(e===$early)return e[0]; throw e}
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"main",{fileServer:fileServer,args:args},$globals.FileServer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"main",{fileServer:fileServer,args:args},$globals.FileServer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2039,7 +2039,7 @@ referencedClasses: ["FileServer"],
 //>>excludeEnd("ide");
 messageSends: ["argv", "removeFrom:to:", "detect:ifNone:", "ifTrue:", "=", "printHelp", "createServerWithArguments:", "start"]
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2055,7 +2055,7 @@ return "text/plain";
 
 }));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"mimeTypeFor:",{aString:aString},$globals.FileServer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"mimeTypeFor:",{aString:aString},$globals.FileServer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2065,7 +2065,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["at:ifAbsent:", "mimeTypes", "replace:with:"]
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2078,14 +2078,14 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@mimeTypes"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@mimeTypes"]=self._defaultMimeTypes();
 return self["@mimeTypes"];
 } else {
 return $1;
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"mimeTypes",{},$globals.FileServer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"mimeTypes",{},$globals.FileServer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2095,7 +2095,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNil:", "defaultMimeTypes"]
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2125,7 +2125,7 @@ return $recv(console)._log_($recv(each).__comma(" <parameter>"));
 }));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"printHelp",{},$globals.FileServer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"printHelp",{},$globals.FileServer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2135,7 +2135,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["log:", "do:", "commandLineSwitches", ","]
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2161,7 +2161,7 @@ $ctx1.sendIdx["replace:with:"]=1;
 //>>excludeEnd("ctx");
 return $recv($1).__comma(":");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"selectorForCommandLineSwitch:",{aSwitch:aSwitch},$globals.FileServer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"selectorForCommandLineSwitch:",{aSwitch:aSwitch},$globals.FileServer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2171,7 +2171,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: [",", "replace:with:", "asUppercase", "second"]
 }),
-$globals.FileServer.klass);
+$globals.FileServer.a$cls);
 
 
 $core.addClass("Initer", $globals.BaseFileManipulator, ["childProcess", "nmPath"], "AmberCli");
@@ -2466,22 +2466,22 @@ self._gruntInitThenDo_((function(error){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-if(($receiver = error) == null || $receiver.isNil){
+if(($receiver = error) == null || $receiver.a$nil){
 return self._bowerInstallThenDo_((function(error2){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-if(($receiver = error2) == null || $receiver.isNil){
+if(($receiver = error2) == null || $receiver.a$nil){
 return self._npmInstallThenDo_((function(error3){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
 //>>excludeEnd("ctx");
-if(($receiver = error3) == null || $receiver.isNil){
+if(($receiver = error3) == null || $receiver.a$nil){
 return self._gruntThenDo_((function(error4){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx5) {
 //>>excludeEnd("ctx");
-if(($receiver = error4) == null || $receiver.isNil){
+if(($receiver = error4) == null || $receiver.a$nil){
 self._finishMessage();
 return $recv(process)._exit();
 } else {
@@ -2620,7 +2620,7 @@ var varName,value;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-if(($receiver = name) == null || $receiver.isNil){
+if(($receiver = name) == null || $receiver.a$nil){
 varName=self._nextResultName();
 } else {
 varName=name;
@@ -2633,7 +2633,7 @@ $recv((function(){
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
 $2=$recv(varName).__comma(" := ");
-if(($receiver = expr) == null || $receiver.isNil){
+if(($receiver = expr) == null || $receiver.a$nil){
 $3=buffer;
 } else {
 $3=expr;
@@ -3024,7 +3024,7 @@ $1=$recv(aClass)._superclass();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["superclass"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $recv(aClass)._instanceVariableNames();
 } else {
 $2=$recv(aClass)._instanceVariableNames();
@@ -3103,7 +3103,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@resultCount"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@resultCount"]=(1);
 } else {
 self["@resultCount"]=$recv(self["@resultCount"]).__plus((1));
@@ -3453,7 +3453,7 @@ $recv($recv(process)._stdin())._on_do_("keypress",(function(s,key){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-if(($receiver = key) == null || $receiver.isNil){
+if(($receiver = key) == null || $receiver.a$nil){
 return key;
 } else {
 return self._onKeyPress_(key);
@@ -3517,7 +3517,7 @@ $1=$recv($2)._matchesOf_("\x5cd+$");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["matchesOf:"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $recv($recv(aClass)._name()).__comma("2");
 } else {
 var counter;
@@ -3562,7 +3562,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._new())._createInterface();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"main",{},$globals.Repl.klass)});
+}, function($ctx1) {$ctx1.fill(self,"main",{},$globals.Repl.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3572,6 +3572,6 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["createInterface", "new"]
 }),
-$globals.Repl.klass);
+$globals.Repl.a$cls);
 
 });

+ 4 - 4
external/amber-dev/lib/NodeTestRunner.js

@@ -20,7 +20,7 @@ return $core.withContext(function($ctx1) {
 self._runTestSuite();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"main",{},$globals.NodeTestRunner.klass)});
+}, function($ctx1) {$ctx1.fill(self,"main",{},$globals.NodeTestRunner.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -30,7 +30,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["runTestSuite"]
 }),
-$globals.NodeTestRunner.klass);
+$globals.NodeTestRunner.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -225,7 +225,7 @@ return self._throw_($33);
 $recv(worker)._run();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"runTestSuite",{suite:suite,worker:worker},$globals.NodeTestRunner.klass)});
+}, function($ctx1) {$ctx1.fill(self,"runTestSuite",{suite:suite,worker:worker},$globals.NodeTestRunner.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -235,6 +235,6 @@ referencedClasses: ["OrderedCollection", "TestCase", "TestSuiteRunner", "ResultA
 //>>excludeEnd("ide");
 messageSends: ["new", "do:", "select:", "allSubclasses", "not", "isAbstract", "addAll:", "buildSuite", "on:", "on:do:", "announcer", "result", "ifTrue:", "=", "runs", "total", "log:", ",", "asString", "size", "failures", "errors", "ifFalse:", "isEmpty", "runCase", "first", "throw:", "name", "class", "selector", "run"]
 }),
-$globals.NodeTestRunner.klass);
+$globals.NodeTestRunner.a$cls);
 
 });

+ 1 - 1
external/amber-dev/package.json

@@ -1,6 +1,6 @@
 {
   "name": "amber-dev",
-  "version": "0.8.7",
+  "version": "0.9.0",
   "description": "Development goodies for Amber Smalltalk",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"

+ 12 - 12
src/Compiler-AST.js

@@ -317,7 +317,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._parent();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 var node;
@@ -456,9 +456,9 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
 $1=self["@position"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=self._parent();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 return $2;
 } else {
 var node;
@@ -610,7 +610,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@shouldBeAliased"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;
@@ -681,7 +681,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@source"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return "";
 } else {
 return $1;
@@ -958,7 +958,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@parameters"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@parameters"]=$recv($globals.Array)._new();
 return self["@parameters"];
 } else {
@@ -1280,7 +1280,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@arguments"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return [];
 } else {
 return $1;
@@ -1730,7 +1730,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@arguments"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@arguments"]=[];
 return self["@arguments"];
 } else {
@@ -1782,7 +1782,7 @@ $1=self._receiver();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["receiver"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=self._arguments();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["arguments"]=1;
@@ -2006,7 +2006,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@shouldBeInlined"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;
@@ -2204,7 +2204,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@temps"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return [];
 } else {
 return $1;
@@ -2458,7 +2458,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@assigned"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;

+ 14 - 52
src/Compiler-Core.js

@@ -149,7 +149,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@source"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return "";
 } else {
 return $1;
@@ -330,7 +330,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
 $1=self["@transformersDictionary"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=$recv($globals.Dictionary)._new();
 $recv($2)._at_put_("2000-semantic",self._semanticAnalyzer());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -388,7 +388,7 @@ $globals.CodeGenerator);
 
 
 
-$core.addClass("Compiler", $globals.Object, ["currentClass", "currentPackage", "source", "unknownVariables", "codeGeneratorClass"], "Compiler-Core");
+$core.addClass("Compiler", $globals.Object, ["currentClass", "currentPackage", "source", "codeGeneratorClass"], "Compiler-Core");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.Compiler.comment="I provide the public interface for compiling Amber source code into JavaScript.\x0a\x0aThe code generator used to produce JavaScript can be plugged with `#codeGeneratorClass`.\x0aThe default code generator is an instance of `InlinedCodeGenerator`";
 //>>excludeEnd("ide");
@@ -403,7 +403,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@codeGeneratorClass"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $globals.InliningCodeGenerator;
 } else {
 return $1;
@@ -509,7 +509,6 @@ $recv($1)._source_(self._source());
 $recv($1)._currentClass_(self._currentClass());
 $recv($1)._currentPackage_(self._currentPackage());
 result=$recv(generator)._compileNode_(aNode);
-self._unknownVariables_([]);
 return result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"compileNode:",{aNode:aNode,generator:generator,result:result},$globals.Compiler)});
@@ -517,10 +516,10 @@ return result;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aNode"],
-source: "compileNode: aNode\x0a\x09| generator result |\x0a\x09generator := self codeGeneratorClass new.\x0a\x09generator\x0a\x09\x09source: self source;\x0a\x09\x09currentClass: self currentClass;\x0a\x09\x09currentPackage: self currentPackage.\x0a\x09result := generator compileNode: aNode.\x0a\x09self unknownVariables: #().\x0a\x09^ result",
+source: "compileNode: aNode\x0a\x09| generator result |\x0a\x09generator := self codeGeneratorClass new.\x0a\x09generator\x0a\x09\x09source: self source;\x0a\x09\x09currentClass: self currentClass;\x0a\x09\x09currentPackage: self currentPackage.\x0a\x09result := generator compileNode: aNode.\x0a\x09^ result",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["new", "codeGeneratorClass", "source:", "source", "currentClass:", "currentClass", "currentPackage:", "currentPackage", "compileNode:", "unknownVariables:"]
+messageSends: ["new", "codeGeneratorClass", "source:", "source", "currentClass:", "currentClass", "currentPackage:", "currentPackage", "compileNode:"]
 }),
 $globals.Compiler);
 
@@ -832,7 +831,7 @@ return self._install_forClass_protocol_($recv(each)._source(),aClass,$recv(each)
 //>>excludeEnd("ctx");
 }),"Recompiling ".__comma($recv(aClass)._name()));
 $2=$recv(aClass)._theMetaClass();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 $2;
 } else {
 var meta;
@@ -899,7 +898,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@source"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return "";
 } else {
 return $1;
@@ -936,43 +935,6 @@ messageSends: []
 }),
 $globals.Compiler);
 
-$core.addMethod(
-$core.method({
-selector: "unknownVariables",
-protocol: "accessing",
-fn: function (){
-var self=this;
-return self["@unknownVariables"];
-
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: [],
-source: "unknownVariables\x0a\x09^ unknownVariables",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: []
-}),
-$globals.Compiler);
-
-$core.addMethod(
-$core.method({
-selector: "unknownVariables:",
-protocol: "accessing",
-fn: function (aCollection){
-var self=this;
-self["@unknownVariables"]=aCollection;
-return self;
-
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aCollection"],
-source: "unknownVariables: aCollection\x0a\x09unknownVariables := aCollection",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: []
-}),
-$globals.Compiler);
-
 
 $core.addMethod(
 $core.method({
@@ -986,7 +948,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._new())._recompile_(aClass);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},$globals.Compiler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"recompile:",{aClass:aClass},$globals.Compiler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -996,7 +958,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["recompile:", "new"]
 }),
-$globals.Compiler.klass);
+$globals.Compiler.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1018,7 +980,7 @@ return self._recompile_(each);
 }));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},$globals.Compiler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"recompileAll",{},$globals.Compiler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1028,7 +990,7 @@ referencedClasses: ["Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["do:", "classes", "recompile:"]
 }),
-$globals.Compiler.klass);
+$globals.Compiler.a$cls);
 
 
 $core.addClass("CompilerError", $globals.Error, [], "Compiler-Core");
@@ -1179,7 +1141,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._new())._evaluate_for_(aString,anObject);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"evaluate:for:",{aString:aString,anObject:anObject},$globals.Evaluator.klass)});
+}, function($ctx1) {$ctx1.fill(self,"evaluate:for:",{aString:aString,anObject:anObject},$globals.Evaluator.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1189,7 +1151,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["evaluate:for:", "new"]
 }),
-$globals.Evaluator.klass);
+$globals.Evaluator.a$cls);
 
 $core.addMethod(
 $core.method({

+ 1 - 10
src/Compiler-Core.st

@@ -94,7 +94,7 @@ translator
 ! !
 
 Object subclass: #Compiler
-	instanceVariableNames: 'currentClass currentPackage source unknownVariables codeGeneratorClass'
+	instanceVariableNames: 'currentClass currentPackage source codeGeneratorClass'
 	package: 'Compiler-Core'!
 !Compiler commentStamp!
 I provide the public interface for compiling Amber source code into JavaScript.
@@ -134,14 +134,6 @@ source
 
 source: aString
 	source := aString
-!
-
-unknownVariables
-	^ unknownVariables
-!
-
-unknownVariables: aCollection
-	unknownVariables := aCollection
 ! !
 
 !Compiler methodsFor: 'compiling'!
@@ -169,7 +161,6 @@ compileNode: aNode
 		currentClass: self currentClass;
 		currentPackage: self currentPackage.
 	result := generator compileNode: aNode.
-	self unknownVariables: #().
 	^ result
 !
 

+ 8 - 8
src/Compiler-IR.js

@@ -181,7 +181,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@nextAlias"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@nextAlias"]=(0);
 self["@nextAlias"];
 } else {
@@ -1414,7 +1414,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._parent();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 var node;
@@ -1467,7 +1467,7 @@ $1=self._new();
 $recv($1)._builder_(aBuilder);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aBuilder:aBuilder},$globals.IRInstruction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aBuilder:aBuilder},$globals.IRInstruction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1477,7 +1477,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["builder:", "new", "yourself"]
 }),
-$globals.IRInstruction.klass);
+$globals.IRInstruction.a$cls);
 
 
 $core.addClass("IRAssignment", $globals.IRInstruction, [], "Compiler-IR");
@@ -1656,7 +1656,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@arguments"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return [];
 } else {
 return $1;
@@ -1738,7 +1738,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@requiresSmalltalkContext"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;
@@ -1982,7 +1982,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@internalVariables"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@internalVariables"]=$recv($globals.Set)._new();
 return self["@internalVariables"];
 } else {
@@ -2271,7 +2271,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@scope"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $recv(self._parent())._scope();
 } else {
 return $1;

+ 8 - 8
src/Compiler-Inlining.js

@@ -23,7 +23,7 @@ $2=$recv($recv($globals.IRSendInliner)._inlinedSelectors())._includes_($recv(aNo
 if($core.assert($2)){
 $recv(aNode)._shouldBeInlined_(true);
 $3=$recv(aNode)._receiver();
-if(($receiver = $3) == null || $receiver.isNil){
+if(($receiver = $3) == null || $receiver.a$nil){
 $3;
 } else {
 var receiver;
@@ -940,7 +940,7 @@ self._visit_($5);
 $ctx2.sendIdx["visit:"]=1;
 //>>excludeEnd("ctx");
 $7=self._stream();
-$8=$recv(") == null || ".__comma(recvVarName)).__comma(".isNil");
+$8=$recv(") == null || ".__comma(recvVarName)).__comma(".a$nil");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx[","]=3;
 //>>excludeEnd("ctx");
@@ -980,7 +980,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anIRInlinedIfNilIfNotNil"],
-source: "visitIRInlinedIfNilIfNotNil: anIRInlinedIfNilIfNotNil\x0a\x09self stream\x0a\x09\x09nextPutIf: [\x0a\x09\x09\x09| recvVarName |\x0a\x09\x09\x09recvVarName := anIRInlinedIfNilIfNotNil receiverInternalVariableName.\x0a\x09\x09\x09self stream nextPutAll: '(', recvVarName, ' = '.\x0a\x09\x09\x09self visit: anIRInlinedIfNilIfNotNil dagChildren first.\x0a\x09\x09\x09self stream nextPutAll: ') == null || ', recvVarName, '.isNil' ]\x0a\x09\x09then: [ self visit: anIRInlinedIfNilIfNotNil dagChildren second ]\x0a\x09\x09else: [ self visit: anIRInlinedIfNilIfNotNil dagChildren third ]",
+source: "visitIRInlinedIfNilIfNotNil: anIRInlinedIfNilIfNotNil\x0a\x09self stream\x0a\x09\x09nextPutIf: [\x0a\x09\x09\x09| recvVarName |\x0a\x09\x09\x09recvVarName := anIRInlinedIfNilIfNotNil receiverInternalVariableName.\x0a\x09\x09\x09self stream nextPutAll: '(', recvVarName, ' = '.\x0a\x09\x09\x09self visit: anIRInlinedIfNilIfNotNil dagChildren first.\x0a\x09\x09\x09self stream nextPutAll: ') == null || ', recvVarName, '.a$nil' ]\x0a\x09\x09then: [ self visit: anIRInlinedIfNilIfNotNil dagChildren second ]\x0a\x09\x09else: [ self visit: anIRInlinedIfNilIfNotNil dagChildren third ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["nextPutIf:then:else:", "stream", "receiverInternalVariableName", "nextPutAll:", ",", "visit:", "first", "dagChildren", "second", "third"]
@@ -1868,7 +1868,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.IRSendInliner.klass);
+$globals.IRSendInliner.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1894,7 +1894,7 @@ return $recv(each)._isClosure();
 //>>excludeEnd("ctx");
 }));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"shouldInline:",{anIRSend:anIRSend},$globals.IRSendInliner.klass)});
+}, function($ctx1) {$ctx1.fill(self,"shouldInline:",{anIRSend:anIRSend},$globals.IRSendInliner.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1904,7 +1904,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifFalse:", "includes:", "inlinedSelectors", "selector", "allSatisfy:", "arguments", "isClosure"]
 }),
-$globals.IRSendInliner.klass);
+$globals.IRSendInliner.a$cls);
 
 
 $core.addClass("IRAssignmentInliner", $globals.IRSendInliner, ["target"], "Compiler-Inlining");
@@ -2196,7 +2196,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
 $1=self["@transformersDictionary"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -2257,7 +2257,7 @@ $2=$recv($recv($globals.IRSendInliner)._inlinedSelectors())._includes_($recv(aNo
 if($core.assert($2)){
 $recv(aNode)._shouldBeInlined_(true);
 $3=$recv(aNode)._receiver();
-if(($receiver = $3) == null || $receiver.isNil){
+if(($receiver = $3) == null || $receiver.a$nil){
 $3;
 } else {
 var receiver;

+ 1 - 1
src/Compiler-Inlining.st

@@ -253,7 +253,7 @@ visitIRInlinedIfNilIfNotNil: anIRInlinedIfNilIfNotNil
 			recvVarName := anIRInlinedIfNilIfNotNil receiverInternalVariableName.
 			self stream nextPutAll: '(', recvVarName, ' = '.
 			self visit: anIRInlinedIfNilIfNotNil dagChildren first.
-			self stream nextPutAll: ') == null || ', recvVarName, '.isNil' ]
+			self stream nextPutAll: ') == null || ', recvVarName, '.a$nil' ]
 		then: [ self visit: anIRInlinedIfNilIfNotNil dagChildren second ]
 		else: [ self visit: anIRInlinedIfNilIfNotNil dagChildren third ]
 !

+ 31 - 31
src/Compiler-Interpreter.js

@@ -316,7 +316,7 @@ $1=self._new();
 $recv($1)._initializeWithContext_node_(aContext,aNode);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"forContext:node:",{aContext:aContext,aNode:aNode},$globals.AIBlockClosure.klass)});
+}, function($ctx1) {$ctx1.fill(self,"forContext:node:",{aContext:aContext,aNode:aNode},$globals.AIBlockClosure.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -326,7 +326,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["initializeWithContext:node:", "new", "yourself"]
 }),
-$globals.AIBlockClosure.klass);
+$globals.AIBlockClosure.a$cls);
 
 
 $core.addClass("AIContext", $globals.MethodContext, ["outerContext", "innerContext", "pc", "locals", "selector", "index", "sendIndexes", "evaluatedSelector", "ast", "interpreter", "supercall"], "Compiler-Interpreter");
@@ -385,7 +385,7 @@ var $1,$2,$3,$receiver;
 $1=self._isBlockContext();
 if($core.assert($1)){
 $2=self._outerContext();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 return $2;
 } else {
 var context;
@@ -394,7 +394,7 @@ return $recv(context)._ast();
 }
 }
 $3=self["@ast"];
-if(($receiver = $3) == null || $receiver.isNil){
+if(($receiver = $3) == null || $receiver.a$nil){
 self._initializeAST();
 } else {
 $3;
@@ -607,7 +607,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@index"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return (0);
 } else {
 return $1;
@@ -694,13 +694,13 @@ $1=$recv(aMethodContext)._outerContext();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["outerContext"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 var outer;
 outer=$receiver;
 $2=$recv(outer)._methodContext();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 $2;
 } else {
 self._outerContext_($recv(self._class())._fromMethodContext_($recv(aMethodContext)._outerContext()));
@@ -747,7 +747,7 @@ $1=$recv($globals.ASTInterpreter)._new();
 $recv($1)._context_(self);
 self["@interpreter"]=$recv($1)._yourself();
 $2=self._innerContext();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 $2;
 } else {
 self._setupInterpreter_(self["@interpreter"]);
@@ -839,7 +839,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@interpreter"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self._initializeInterpreter();
 } else {
 $1;
@@ -999,7 +999,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@locals"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self._initializeLocals();
 } else {
 $1;
@@ -1149,7 +1149,7 @@ return $core.withContext(function($ctx1) {
 var $1,$receiver;
 self["@outerContext"]=anAIContext;
 $1=self["@outerContext"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 var context;
@@ -1268,7 +1268,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@sendIndexes"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $recv($globals.Dictionary)._new();
 } else {
 return $1;
@@ -1330,7 +1330,7 @@ $ctx1.sendIdx["ast"]=1;
 $recv($1)._visit_($3);
 currentNode=$recv($1)._currentNode();
 $4=$recv(self._ast())._sequenceNode();
-if(($receiver = $4) == null || $receiver.isNil){
+if(($receiver = $4) == null || $receiver.a$nil){
 $4;
 } else {
 var sequence;
@@ -1393,7 +1393,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@supercall"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;
@@ -1469,7 +1469,7 @@ $1=self._new();
 $recv($1)._initializeFromMethodContext_(aMethodContext);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromMethodContext:",{aMethodContext:aMethodContext},$globals.AIContext.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromMethodContext:",{aMethodContext:aMethodContext},$globals.AIContext.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1479,7 +1479,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["initializeFromMethodContext:", "new", "yourself"]
 }),
-$globals.AIContext.klass);
+$globals.AIContext.a$cls);
 
 
 $core.addClass("AISemanticAnalyzer", $globals.SemanticAnalyzer, ["context"], "Compiler-Interpreter");
@@ -1632,7 +1632,7 @@ $1=self._context();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["context"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return true;
 } else {
 $1;
@@ -1707,7 +1707,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._context();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 var cxt;
@@ -1739,7 +1739,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._context();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 var ctx;
@@ -1796,7 +1796,7 @@ $1=self._interpreter();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["interpreter"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 return $recv(self._interpreter())._node();
@@ -1839,7 +1839,7 @@ $ctx1.sendIdx["atEnd"]=1;
 //>>excludeEnd("ctx");
 if($core.assert($2)){
 $4=$recv(self._context())._outerContext();
-if(($receiver = $4) == null || $receiver.isNil){
+if(($receiver = $4) == null || $receiver.a$nil){
 $4;
 } else {
 var outerContext;
@@ -2027,7 +2027,7 @@ $1=self._new();
 $recv($1)._context_(aContext);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext},$globals.ASTDebugger.klass)});
+}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext},$globals.ASTDebugger.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2037,7 +2037,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["context:", "new", "yourself"]
 }),
-$globals.ASTDebugger.klass);
+$globals.ASTDebugger.a$cls);
 
 
 $core.addClass("ASTEnterNode", $globals.NodeVisitor, ["interpreter"], "Compiler-Interpreter");
@@ -2191,7 +2191,7 @@ $1=self._new();
 $recv($1)._interpreter_(anInterpreter);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{anInterpreter:anInterpreter},$globals.ASTEnterNode.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{anInterpreter:anInterpreter},$globals.ASTEnterNode.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2201,7 +2201,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["interpreter:", "new", "yourself"]
 }),
-$globals.ASTEnterNode.klass);
+$globals.ASTEnterNode.a$cls);
 
 
 $core.addClass("ASTInterpreter", $globals.NodeVisitor, ["node", "context", "stack", "returnValue", "returned", "forceAtEnd"], "Compiler-Interpreter");
@@ -2434,7 +2434,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@returned"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;
@@ -2576,13 +2576,13 @@ return $core.withContext(function($ctx1) {
 var $1,$2,$receiver;
 nd=self._node();
 $1=$recv(nd)._parent();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 nextNode=$1;
 } else {
 var parent;
 parent=$receiver;
 $2=$recv(parent)._nextSiblingNode_(nd);
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 nextNode=parent;
 } else {
 var sibling;
@@ -2882,7 +2882,7 @@ $1=$recv($2)._superclass();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["superclass"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $3=self._messageNotUnderstood_receiver_(aMessage,anObject);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["messageNotUnderstood:receiver:"]=1;
@@ -2985,7 +2985,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@stack"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@stack"]=$recv($globals.OrderedCollection)._new();
 return self["@stack"];
 } else {
@@ -3673,7 +3673,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@trackedIndex"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@trackedIndex"]=(0);
 return self["@trackedIndex"];
 } else {

+ 24 - 24
src/Compiler-Semantic.js

@@ -132,7 +132,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@args"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@args"]=$recv($globals.Dictionary)._new();
 return self["@args"];
 } else {
@@ -222,7 +222,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@blockIndex"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return (0);
 } else {
 return $1;
@@ -418,12 +418,12 @@ return $core.withContext(function($ctx1) {
 var $1,$2,$receiver;
 lookup=self._bindingFor_(aNode);
 $1=lookup;
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=self._outerScope();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["outerScope"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 lookup=$2;
 } else {
 lookup=$recv(self._outerScope())._lookupVariable_(aNode);
@@ -460,7 +460,7 @@ $1=self._outerScope();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["outerScope"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 return $recv(self._outerScope())._methodScope();
@@ -589,7 +589,7 @@ $1=self._outerScope();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["outerScope"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return (1);
 } else {
 $1;
@@ -631,7 +631,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@temps"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@temps"]=$recv($globals.Dictionary)._new();
 return self["@temps"];
 } else {
@@ -760,7 +760,7 @@ $ctx1.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $recv(self._iVars())._at_ifAbsent_($recv(aNode)._value(),(function(){
 return nil;
 
@@ -856,7 +856,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@iVars"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@iVars"]=$recv($globals.Dictionary)._new();
 return self["@iVars"];
 } else {
@@ -904,7 +904,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@localReturn"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;
@@ -970,7 +970,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@nonLocalReturns"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@nonLocalReturns"]=$recv($globals.OrderedCollection)._new();
 return self["@nonLocalReturns"];
 } else {
@@ -1000,7 +1000,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$4,$3,$receiver;
 $1=self["@pseudoVars"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@pseudoVars"]=$recv($globals.Dictionary)._new();
 self["@pseudoVars"];
 $recv($recv($globals.Smalltalk)._pseudoVariableNames())._do_((function(each){
@@ -1070,7 +1070,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@unknownVariables"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@unknownVariables"]=$recv($globals.OrderedCollection)._new();
 return self["@unknownVariables"];
 } else {
@@ -1371,7 +1371,7 @@ $1=self._new();
 $recv($1)._name_(aString);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aString:aString},$globals.ScopeVar.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aString:aString},$globals.ScopeVar.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1381,7 +1381,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["name:", "new", "yourself"]
 }),
-$globals.ScopeVar.klass);
+$globals.ScopeVar.a$cls);
 
 
 $core.addClass("AliasVar", $globals.ScopeVar, ["node"], "Compiler-Semantic");
@@ -1732,7 +1732,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@classReferences"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@classReferences"]=$recv($globals.Set)._new();
 return self["@classReferences"];
 } else {
@@ -1837,7 +1837,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$3,$receiver;
-if(($receiver = aPackage) == null || $receiver.isNil){
+if(($receiver = aPackage) == null || $receiver.a$nil){
 aPackage;
 } else {
 var packageKnownVars;
@@ -1878,7 +1878,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@messageSends"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@messageSends"]=$recv($globals.Dictionary)._new();
 return self["@messageSends"];
 } else {
@@ -1980,7 +1980,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@blockIndex"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@blockIndex"]=(0);
 self["@blockIndex"];
 } else {
@@ -2012,7 +2012,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@currentScope"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 self["@currentScope"]=$recv(self["@currentScope"])._outerScope();
@@ -2142,7 +2142,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=$recv(self["@currentScope"])._lookupVariable_(aString);
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 self._errorShadowingVariable_(aString);
@@ -2466,7 +2466,7 @@ return $core.withContext(function($ctx1) {
 var $1,$3,$2,$4,$5,$6,$7,$8,$9,$receiver;
 binding=$recv(self["@currentScope"])._lookupVariable_(aNode);
 $1=binding;
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $3=$recv(aNode)._value();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["value"]=1;
@@ -2537,7 +2537,7 @@ $1=self._new();
 $recv($1)._theClass_(aClass);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aClass:aClass},$globals.SemanticAnalyzer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aClass:aClass},$globals.SemanticAnalyzer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2547,7 +2547,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["theClass:", "new", "yourself"]
 }),
-$globals.SemanticAnalyzer.klass);
+$globals.SemanticAnalyzer.a$cls);
 
 
 $core.addClass("SemanticError", $globals.CompilerError, [], "Compiler-Semantic");

+ 3 - 3
src/Compiler-Tests.js

@@ -533,7 +533,7 @@ return $recv(self["@receiver"])._perform_($recv(method)._selector());
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 $3=method;
-if(($receiver = $3) == null || $receiver.isNil){
+if(($receiver = $3) == null || $receiver.a$nil){
 return $3;
 } else {
 return $recv($recv(anObject)._class())._removeCompiledMethod_(method);
@@ -1935,7 +1935,7 @@ $recv($1)._receiver_(anObject);
 $recv($1)._interpreter_(interpreter);
 ctx=$recv($1)._yourself();
 $2=$recv(ast)._sequenceNode();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 $2;
 } else {
 var sequence;
@@ -2071,7 +2071,7 @@ $recv($1)._interpreter_($recv($globals.ASTInterpreter)._new());
 ctx=$recv($1)._yourself();
 ast=self._parse_forClass_(aString,$recv(anObject)._class());
 $2=$recv(ast)._sequenceNode();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 $2;
 } else {
 var sequence;

+ 10 - 10
src/Kernel-Announcements.js

@@ -97,7 +97,7 @@ $1=$recv($2)._at_($3);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["at:"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 var class_;
@@ -560,7 +560,7 @@ $core.addClass("SystemAnnouncer", $globals.Announcer, [], "Kernel-Announcements"
 $globals.SystemAnnouncer.comment="My unique instance is the global announcer handling all Amber system-related announces.\x0a\x0a## API\x0a\x0aAccess to the unique instance is done via `#current`";
 //>>excludeEnd("ide");
 
-$globals.SystemAnnouncer.klass.iVarNames = ["current"];
+$globals.SystemAnnouncer.a$cls.iVarNames = ["current"];
 $core.addMethod(
 $core.method({
 selector: "current",
@@ -572,12 +572,12 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@current"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@current"]=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.SystemAnnouncer.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
+($globals.SystemAnnouncer.a$cls.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
@@ -586,7 +586,7 @@ return self["@current"];
 return $1;
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"current",{},$globals.SystemAnnouncer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"current",{},$globals.SystemAnnouncer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -596,7 +596,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNil:", "new"]
 }),
-$globals.SystemAnnouncer.klass);
+$globals.SystemAnnouncer.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -610,7 +610,7 @@ return $core.withContext(function($ctx1) {
 self._shouldNotImplement();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.SystemAnnouncer.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.SystemAnnouncer.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -620,7 +620,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["shouldNotImplement"]
 }),
-$globals.SystemAnnouncer.klass);
+$globals.SystemAnnouncer.a$cls);
 
 
 $core.addClass("SystemAnnouncement", $globals.Object, [], "Kernel-Announcements");
@@ -644,7 +644,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.SystemAnnouncement.klass);
+$globals.SystemAnnouncement.a$cls);
 
 
 $core.addClass("ClassAnnouncement", $globals.SystemAnnouncement, ["theClass"], "Kernel-Announcements");
@@ -1029,7 +1029,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._theClass();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 var class_;

+ 25 - 25
src/Kernel-Classes.js

@@ -26,7 +26,7 @@ $1=self._superclass();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["superclass"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $recv(result)._addAll_($recv(self._superclass())._allInstanceVariableNames());
@@ -162,7 +162,7 @@ $1=self._superclass();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["superclass"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return [];
 } else {
 $1;
@@ -301,7 +301,7 @@ $1=self._superclass();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["superclass"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 $1;
@@ -853,7 +853,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1;
-$1=$recv("$globals.".__comma($recv(self._instanceClass())._name())).__comma(".klass");
+$1=$recv("$globals.".__comma($recv(self._instanceClass())._name())).__comma(".a$cls");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx[","]=1;
 //>>excludeEnd("ctx");
@@ -864,7 +864,7 @@ return $1;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "asJavaScriptSource\x0a\x09^ '$globals.', self instanceClass name, '.klass'",
+source: "asJavaScriptSource\x0a\x09^ '$globals.', self instanceClass name, '.a$cls'",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: [",", "name", "instanceClass"]
@@ -1154,7 +1154,7 @@ var $1,$2,$3,$receiver;
 theClass=$recv($recv($globals.Smalltalk)._globals())._at_(className);
 thePackage=$recv($globals.Package)._named_(packageName);
 $1=theClass;
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $recv(theClass)._package_(thePackage);
@@ -1193,7 +1193,7 @@ var $1,$2,$receiver;
 theTrait=$recv($recv($globals.Smalltalk)._globals())._at_(traitName);
 thePackage=$recv($globals.Package)._named_(packageName);
 $1=theTrait;
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $2=theTrait;
@@ -1853,7 +1853,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$3,$5,$4,$receiver;
 $1=self._instanceVariableNamesFor_(ivarNames);
-if(($receiver = packageName) == null || $receiver.isNil){
+if(($receiver = packageName) == null || $receiver.a$nil){
 $2="unclassified";
 } else {
 $2=packageName;
@@ -2100,7 +2100,7 @@ $recv($1)._level_(anInteger);
 $recv($1)._getNodesFrom_(aCollection);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:classes:level:",{aClass:aClass,aCollection:aCollection,anInteger:anInteger},$globals.ClassSorterNode.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:classes:level:",{aClass:aClass,aCollection:aCollection,anInteger:anInteger},$globals.ClassSorterNode.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2110,7 +2110,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["theClass:", "new", "level:", "getNodesFrom:", "yourself"]
 }),
-$globals.ClassSorterNode.klass);
+$globals.ClassSorterNode.a$cls);
 
 
 $core.addTrait("TBehaviorDefaults", "Kernel-Classes");
@@ -2179,7 +2179,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._name();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 (
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -2302,13 +2302,13 @@ $recv($4)._addElement_($5);
 }
 self._basicAddCompiledMethod_(aMethod);
 $6=oldMethod;
-if(($receiver = $6) == null || $receiver.isNil){
+if(($receiver = $6) == null || $receiver.a$nil){
 $6;
 } else {
 self._removeProtocolIfEmpty_($recv(oldMethod)._protocol());
 }
 $7=oldMethod;
-if(($receiver = $7) == null || $receiver.isNil){
+if(($receiver = $7) == null || $receiver.a$nil){
 $8=$recv($globals.MethodAdded)._new();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["new"]=1;
@@ -3151,7 +3151,7 @@ $1=self._package();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["package"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return "Unclassified";
 } else {
 return $recv(self._package())._name();
@@ -3203,7 +3203,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._basicAt_("comment");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return "";
 } else {
 return $1;
@@ -3587,7 +3587,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv($recv($globals.ClassBuilder)._new())._addTraitNamed_package_(aString,anotherString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"named:package:",{aString:aString,anotherString:anotherString},$globals.Trait.klass)});
+}, function($ctx1) {$ctx1.fill(self,"named:package:",{aString:aString,anotherString:anotherString},$globals.Trait.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3597,7 +3597,7 @@ referencedClasses: ["ClassBuilder"],
 //>>excludeEnd("ide");
 messageSends: ["addTraitNamed:package:", "new"]
 }),
-$globals.Trait.klass);
+$globals.Trait.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3613,7 +3613,7 @@ trait=self._named_package_(aString,anotherString);
 $recv(trait)._setTraitComposition_($recv(aTraitCompositionDescription)._asTraitComposition());
 return trait;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"named:uses:package:",{aString:aString,aTraitCompositionDescription:aTraitCompositionDescription,anotherString:anotherString,trait:trait},$globals.Trait.klass)});
+}, function($ctx1) {$ctx1.fill(self,"named:uses:package:",{aString:aString,aTraitCompositionDescription:aTraitCompositionDescription,anotherString:anotherString,trait:trait},$globals.Trait.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3623,7 +3623,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["named:package:", "setTraitComposition:", "asTraitComposition"]
 }),
-$globals.Trait.klass);
+$globals.Trait.a$cls);
 
 
 $core.addClass("TraitTransformation", $globals.Object, ["trait", "aliases", "exclusions"], "Kernel-Classes");
@@ -4137,7 +4137,7 @@ $1=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.TraitTransformation.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
+($globals.TraitTransformation.a$cls.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
@@ -4158,7 +4158,7 @@ return [];
 })));
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromJSON:",{aJSObject:aJSObject},$globals.TraitTransformation.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromJSON:",{aJSObject:aJSObject},$globals.TraitTransformation.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4168,7 +4168,7 @@ referencedClasses: ["Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["trait:", "new", "at:", "addAliases:", "associations", "readJSObject:", "at:ifAbsent:", "addExclusions:", "yourself"]
 }),
-$globals.TraitTransformation.klass);
+$globals.TraitTransformation.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4184,14 +4184,14 @@ $1=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.TraitTransformation.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
+($globals.TraitTransformation.a$cls.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
 $recv($1)._trait_(aTrait);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aTrait:aTrait},$globals.TraitTransformation.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aTrait:aTrait},$globals.TraitTransformation.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4201,7 +4201,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["trait:", "new", "yourself"]
 }),
-$globals.TraitTransformation.klass);
+$globals.TraitTransformation.a$cls);
 
 $core.setTraitComposition([{trait: $globals.TBehaviorDefaults}, {trait: $globals.TBehaviorProvider}], $globals.Behavior);
 $core.setTraitComposition([{trait: $globals.TMasterBehavior}, {trait: $globals.TSubclassable}], $globals.Class);

+ 1 - 1
src/Kernel-Classes.st

@@ -249,7 +249,7 @@ uses: aTraitCompositionDescription instanceVariableNames: aCollection
 !Metaclass methodsFor: 'converting'!
 
 asJavaScriptSource
-	^ '$globals.', self instanceClass name, '.klass'
+	^ '$globals.', self instanceClass name, '.a$cls'
 ! !
 
 !Metaclass methodsFor: 'testing'!

+ 75 - 75
src/Kernel-Collections.js

@@ -193,7 +193,7 @@ $recv($1)._key_(aKey);
 $recv($1)._value_(aValue);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"key:value:",{aKey:aKey,aValue:aValue},$globals.Association.klass)});
+}, function($ctx1) {$ctx1.fill(self,"key:value:",{aKey:aKey,aValue:aValue},$globals.Association.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -203,7 +203,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["key:", "new", "value:", "yourself"]
 }),
-$globals.Association.klass);
+$globals.Association.a$cls);
 
 
 $core.addClass("BucketStore", $globals.Object, ["buckets", "hashBlock"], "Kernel-Collections");
@@ -383,7 +383,7 @@ $1=self._new();
 $recv($1)._hashBlock_(aBlock);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"hashBlock:",{aBlock:aBlock},$globals.BucketStore.klass)});
+}, function($ctx1) {$ctx1.fill(self,"hashBlock:",{aBlock:aBlock},$globals.BucketStore.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -393,7 +393,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["hashBlock:", "new", "yourself"]
 }),
-$globals.BucketStore.klass);
+$globals.BucketStore.a$cls);
 
 
 $core.addClass("ArrayBucketStore", $globals.BucketStore, [], "Kernel-Collections");
@@ -1733,7 +1733,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Collection.klass);
+$globals.Collection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1746,7 +1746,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._new();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger},$globals.Collection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger},$globals.Collection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1756,7 +1756,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new"]
 }),
-$globals.Collection.klass);
+$globals.Collection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1772,7 +1772,7 @@ $1=self._new();
 $recv($1)._add_(anObject);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject},$globals.Collection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject},$globals.Collection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1782,7 +1782,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["add:", "new", "yourself"]
 }),
-$globals.Collection.klass);
+$globals.Collection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1802,7 +1802,7 @@ $ctx1.sendIdx["add:"]=1;
 $recv($1)._add_(anotherObject);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anotherObject:anotherObject},$globals.Collection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anotherObject:anotherObject},$globals.Collection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1812,7 +1812,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["add:", "new", "yourself"]
 }),
-$globals.Collection.klass);
+$globals.Collection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1836,7 +1836,7 @@ $ctx1.sendIdx["add:"]=2;
 $recv($1)._add_(thirdObject);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"with:with:with:",{firstObject:firstObject,secondObject:secondObject,thirdObject:thirdObject},$globals.Collection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"with:with:with:",{firstObject:firstObject,secondObject:secondObject,thirdObject:thirdObject},$globals.Collection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1846,7 +1846,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["add:", "new", "yourself"]
 }),
-$globals.Collection.klass);
+$globals.Collection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1862,7 +1862,7 @@ $1=self._new();
 $recv($1)._addAll_(aCollection);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection},$globals.Collection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection},$globals.Collection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1872,7 +1872,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["addAll:", "new", "yourself"]
 }),
-$globals.Collection.klass);
+$globals.Collection.a$cls);
 
 
 $core.addClass("IndexableCollection", $globals.Collection, [], "Kernel-Collections");
@@ -3162,7 +3162,7 @@ return $recv(newCollection)._add_(each);
 }));
 return newCollection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"from:",{aCollection:aCollection,newCollection:newCollection},$globals.AssociativeCollection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"from:",{aCollection:aCollection,newCollection:newCollection},$globals.AssociativeCollection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3172,7 +3172,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new", "do:", "add:"]
 }),
-$globals.AssociativeCollection.klass);
+$globals.AssociativeCollection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3185,7 +3185,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._from_(aCollection);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromPairs:",{aCollection:aCollection},$globals.AssociativeCollection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromPairs:",{aCollection:aCollection},$globals.AssociativeCollection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3195,7 +3195,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["from:"]
 }),
-$globals.AssociativeCollection.klass);
+$globals.AssociativeCollection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3233,7 +3233,7 @@ return $recv($3)._at_put_($4,$recv(aCollection)._at_($recv(each).__plus((1))));
 }));
 return newCollection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"newFromPairs:",{aCollection:aCollection,newCollection:newCollection},$globals.AssociativeCollection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"newFromPairs:",{aCollection:aCollection,newCollection:newCollection},$globals.AssociativeCollection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3243,7 +3243,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifFalse:", "even", "size", "error:", "new", "do:", "to:by:", "at:put:", "at:", "+"]
 }),
-$globals.AssociativeCollection.klass);
+$globals.AssociativeCollection.a$cls);
 
 
 $core.addClass("Dictionary", $globals.AssociativeCollection, ["keys", "values"], "Kernel-Collections");
@@ -4778,7 +4778,7 @@ referencedClasses: ["Stream"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.SequenceableCollection.klass);
+$globals.SequenceableCollection.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4794,7 +4794,7 @@ stream=$recv(self._streamClass())._on_(self._new());
 $recv(aBlock)._value_(stream);
 return $recv(stream)._contents();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"streamContents:",{aBlock:aBlock,stream:stream},$globals.SequenceableCollection.klass)});
+}, function($ctx1) {$ctx1.fill(self,"streamContents:",{aBlock:aBlock,stream:stream},$globals.SequenceableCollection.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4804,7 +4804,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["on:", "streamClass", "new", "value:", "contents"]
 }),
-$globals.SequenceableCollection.klass);
+$globals.SequenceableCollection.a$cls);
 
 
 $core.addClass("Array", $globals.SequenceableCollection, [], "Kernel-Collections");
@@ -5503,7 +5503,7 @@ return $core.withContext(function($ctx1) {
 return new Array(anInteger);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger},$globals.Array.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new:",{anInteger:anInteger},$globals.Array.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -5513,7 +5513,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Array.klass);
+$globals.Array.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -5529,7 +5529,7 @@ $1=self._new_((1));
 $recv($1)._at_put_((1),anObject);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject},$globals.Array.klass)});
+}, function($ctx1) {$ctx1.fill(self,"with:",{anObject:anObject},$globals.Array.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -5539,7 +5539,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["at:put:", "new:", "yourself"]
 }),
-$globals.Array.klass);
+$globals.Array.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -5559,7 +5559,7 @@ $ctx1.sendIdx["at:put:"]=1;
 $recv($1)._at_put_((2),anObject2);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anObject2:anObject2},$globals.Array.klass)});
+}, function($ctx1) {$ctx1.fill(self,"with:with:",{anObject:anObject,anObject2:anObject2},$globals.Array.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -5569,7 +5569,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["at:put:", "new:", "yourself"]
 }),
-$globals.Array.klass);
+$globals.Array.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -5593,7 +5593,7 @@ $ctx1.sendIdx["at:put:"]=2;
 $recv($1)._at_put_((3),anObject3);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"with:with:with:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.Array.klass)});
+}, function($ctx1) {$ctx1.fill(self,"with:with:with:",{anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.Array.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -5603,7 +5603,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["at:put:", "new:", "yourself"]
 }),
-$globals.Array.klass);
+$globals.Array.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -5630,7 +5630,7 @@ return index;
 }));
 return instance;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection,instance:instance,index:index},$globals.Array.klass)});
+}, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection,instance:instance,index:index},$globals.Array.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -5640,7 +5640,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new:", "size", "do:", "at:put:", "+"]
 }),
-$globals.Array.klass);
+$globals.Array.a$cls);
 
 
 $core.addClass("CharacterArray", $globals.SequenceableCollection, [], "Kernel-Collections");
@@ -6009,7 +6009,7 @@ return $core.withContext(function($ctx1) {
 self._subclassResponsibility();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.CharacterArray.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.CharacterArray.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -6019,7 +6019,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["subclassResponsibility"]
 }),
-$globals.CharacterArray.klass);
+$globals.CharacterArray.a$cls);
 
 
 $core.addClass("String", $globals.CharacterArray, [], "Kernel-Collections");
@@ -7701,7 +7701,7 @@ return $core.withContext(function($ctx1) {
 return "\r";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"cr",{},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"cr",{},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7711,7 +7711,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7725,7 +7725,7 @@ return $core.withContext(function($ctx1) {
 return "\r\n";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"crlf",{},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"crlf",{},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7735,7 +7735,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7748,7 +7748,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._fromCharCode_((27));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"esc",{},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"esc",{},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7758,7 +7758,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["fromCharCode:"]
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7772,7 +7772,7 @@ return $core.withContext(function($ctx1) {
 return String.fromCharCode(anInteger);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromCharCode:",{anInteger:anInteger},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromCharCode:",{anInteger:anInteger},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7782,7 +7782,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7796,7 +7796,7 @@ return $core.withContext(function($ctx1) {
 return String(aString);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7806,7 +7806,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7820,7 +7820,7 @@ return $core.withContext(function($ctx1) {
 return "\n";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"lf",{},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"lf",{},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7830,7 +7830,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7844,7 +7844,7 @@ return $core.withContext(function($ctx1) {
 return (Math.random()*(22/32)+(10/32)).toString(32).slice(2);;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"random",{},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"random",{},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7854,7 +7854,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7879,7 +7879,7 @@ return $recv(aString)._includesSubString_(result);
 }))._whileTrue();
 return result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"randomNotIn:",{aString:aString,result:result},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"randomNotIn:",{aString:aString,result:result},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7889,7 +7889,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["whileTrue", "random", "includesSubString:"]
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7903,7 +7903,7 @@ return $core.withContext(function($ctx1) {
 return " ";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"space",{},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"space",{},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7913,7 +7913,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7931,7 +7931,7 @@ referencedClasses: ["StringStream"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7945,7 +7945,7 @@ return $core.withContext(function($ctx1) {
 return "\t";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"tab",{},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"tab",{},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7955,7 +7955,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -7969,7 +7969,7 @@ return $core.withContext(function($ctx1) {
 return String.fromCharCode(aUTFCharCode);;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"value:",{aUTFCharCode:aUTFCharCode},$globals.String.klass)});
+}, function($ctx1) {$ctx1.fill(self,"value:",{aUTFCharCode:aUTFCharCode},$globals.String.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -7979,7 +7979,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.String.klass);
+$globals.String.a$cls);
 
 
 $core.addClass("Set", $globals.Collection, ["defaultBucket", "slowBucketStores", "fastBuckets", "size"], "Kernel-Collections");
@@ -8058,7 +8058,7 @@ return $core.withContext(function($ctx1) {
 var $1,$receiver;
 bucket=self._bucketsOfElement_(anObject);
 $1=$recv(bucket)._second();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 var object,slowBucket;
 object=$recv(bucket)._first();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -8137,7 +8137,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 
 		// include nil to well-known objects under "boolean" fastBucket
-		if (anObject == null || anObject.isNil) return [ null, self['@fastBuckets'].boolean ];
+		if (anObject == null || anObject.a$nil) return [ null, self['@fastBuckets'].boolean ];
 		
 		var prim = anObject.valueOf();
 		if (typeof prim === "object" || typeof prim === "function" || !self['@fastBuckets'][typeof prim]) {
@@ -8156,7 +8156,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anObject"],
-source: "bucketsOfElement: anObject\x0a\x09\x22Find the appropriate bucket for `anObject`.\x0a\x09For optimization purposes, directly answer an array with: \x0a\x09- the object to be store\x0a\x09- the primitive bucket\x0a\x09- the slow bucket\x22\x0a\x09\x0a\x09<inlineJS: '\x0a\x09\x09// include nil to well-known objects under \x22boolean\x22 fastBucket\x0a\x09\x09if (anObject == null || anObject.isNil) return [ null, self[''@fastBuckets''].boolean ];\x0a\x09\x09\x0a\x09\x09var prim = anObject.valueOf();\x0a\x09\x09if (typeof prim === \x22object\x22 || typeof prim === \x22function\x22 || !self[''@fastBuckets''][typeof prim]) {\x0a\x09\x09\x09var bucket = null;\x0a\x09\x09\x09self[''@slowBucketStores''].some(function (store) {\x0a\x09\x09\x09\x09return bucket = store._bucketOfElement_(anObject);\x0a\x09\x09\x09});\x0a\x09\x09\x09return [ anObject, null, bucket || self[''@defaultBucket''] ];\x0a\x09\x09}\x0a\x09\x09return [ prim, self[''@fastBuckets''][typeof prim] ];\x0a\x09'>",
+source: "bucketsOfElement: anObject\x0a\x09\x22Find the appropriate bucket for `anObject`.\x0a\x09For optimization purposes, directly answer an array with: \x0a\x09- the object to be store\x0a\x09- the primitive bucket\x0a\x09- the slow bucket\x22\x0a\x09\x0a\x09<inlineJS: '\x0a\x09\x09// include nil to well-known objects under \x22boolean\x22 fastBucket\x0a\x09\x09if (anObject == null || anObject.a$nil) return [ null, self[''@fastBuckets''].boolean ];\x0a\x09\x09\x0a\x09\x09var prim = anObject.valueOf();\x0a\x09\x09if (typeof prim === \x22object\x22 || typeof prim === \x22function\x22 || !self[''@fastBuckets''][typeof prim]) {\x0a\x09\x09\x09var bucket = null;\x0a\x09\x09\x09self[''@slowBucketStores''].some(function (store) {\x0a\x09\x09\x09\x09return bucket = store._bucketOfElement_(anObject);\x0a\x09\x09\x09});\x0a\x09\x09\x09return [ anObject, null, bucket || self[''@defaultBucket''] ];\x0a\x09\x09}\x0a\x09\x09return [ prim, self[''@fastBuckets''][typeof prim] ];\x0a\x09'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -8172,7 +8172,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return anObject.klass != null && anObject.klass.className;
+return anObject.a$cls != null && anObject.a$cls.className;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"classNameOf:",{anObject:anObject},$globals.Set)});
@@ -8180,7 +8180,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anObject"],
-source: "classNameOf: anObject\x0a\x09\x22Answer the class name of `anObject`, or `undefined` \x0a\x09if `anObject` is not an Smalltalk object\x22\x0a\x09\x0a\x09<inlineJS: 'return anObject.klass != null && anObject.klass.className'>",
+source: "classNameOf: anObject\x0a\x09\x22Answer the class name of `anObject`, or `undefined` \x0a\x09if `anObject` is not an Smalltalk object\x22\x0a\x09\x0a\x09<inlineJS: 'return anObject.a$cls != null && anObject.a$cls.className'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -8310,7 +8310,7 @@ return $core.withContext(function($ctx1) {
 var $1,$2,$3,$receiver;
 bucket=self._bucketsOfElement_(anObject);
 $1=$recv(bucket)._second();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=$recv(bucket)._third();
 $3=$recv(bucket)._first();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -8536,7 +8536,7 @@ var $early={};
 try {
 bucket=self._bucketsOfElement_(anObject);
 $1=$recv(bucket)._second();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=$recv(bucket)._third();
 $3=$recv(bucket)._first();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -9174,7 +9174,7 @@ $recv($1)._setCollection_(aCollection);
 $recv($1)._setStreamSize_($recv(aCollection)._size());
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},$globals.ProtoStream.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},$globals.ProtoStream.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -9184,7 +9184,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["setCollection:", "new", "setStreamSize:", "size", "yourself"]
 }),
-$globals.ProtoStream.klass);
+$globals.ProtoStream.a$cls);
 
 
 $core.addClass("Stream", $globals.ProtoStream, ["collection", "position", "streamSize"], "Kernel-Collections");
@@ -9485,7 +9485,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@position"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@position"]=(0);
 return self["@position"];
 } else {
@@ -9715,7 +9715,7 @@ $recv($1)._setCollection_(aCollection);
 $recv($1)._setStreamSize_($recv(aCollection)._size());
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},$globals.Stream.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},$globals.Stream.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -9725,7 +9725,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["setCollection:", "new", "setStreamSize:", "size", "yourself"]
 }),
-$globals.Stream.klass);
+$globals.Stream.a$cls);
 
 
 $core.addClass("StringStream", $globals.Stream, [], "Kernel-Collections");
@@ -10325,7 +10325,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._fromString_flag_(aString,"");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.RegularExpression.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.RegularExpression.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -10335,7 +10335,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["fromString:flag:"]
 }),
-$globals.RegularExpression.klass);
+$globals.RegularExpression.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -10349,7 +10349,7 @@ return $core.withContext(function($ctx1) {
 return new RegExp(aString, anotherString);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromString:flag:",{aString:aString,anotherString:anotherString},$globals.RegularExpression.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromString:flag:",{aString:aString,anotherString:anotherString},$globals.RegularExpression.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -10359,6 +10359,6 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.RegularExpression.klass);
+$globals.RegularExpression.a$cls);
 
 });

+ 2 - 2
src/Kernel-Collections.st

@@ -2056,7 +2056,7 @@ bucketsOfElement: anObject
 	
 	<inlineJS: '
 		// include nil to well-known objects under "boolean" fastBucket
-		if (anObject == null || anObject.isNil) return [ null, self[''@fastBuckets''].boolean ];
+		if (anObject == null || anObject.a$nil) return [ null, self[''@fastBuckets''].boolean ];
 		
 		var prim = anObject.valueOf();
 		if (typeof prim === "object" || typeof prim === "function" || !!self[''@fastBuckets''][typeof prim]) {
@@ -2074,7 +2074,7 @@ classNameOf: anObject
 	"Answer the class name of `anObject`, or `undefined` 
 	if `anObject` is not an Smalltalk object"
 	
-	<inlineJS: 'return anObject.klass !!= null && anObject.klass.className'>
+	<inlineJS: 'return anObject.a$cls !!= null && anObject.a$cls.className'>
 !
 
 includes: anObject in: anotherObject

+ 1 - 1
src/Kernel-Dag.js

@@ -535,7 +535,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@nodes"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@nodes"]=$recv($globals.Array)._new();
 return self["@nodes"];
 } else {

+ 9 - 9
src/Kernel-Exceptions.js

@@ -385,7 +385,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Error.klass);
+$globals.Error.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -398,7 +398,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._new())._signal();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"signal",{},$globals.Error.klass)});
+}, function($ctx1) {$ctx1.fill(self,"signal",{},$globals.Error.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -408,7 +408,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["signal", "new"]
 }),
-$globals.Error.klass);
+$globals.Error.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -421,7 +421,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._new())._signal_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},$globals.Error.klass)});
+}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString},$globals.Error.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -431,7 +431,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["signal:", "new"]
 }),
-$globals.Error.klass);
+$globals.Error.a$cls);
 
 
 $core.addClass("Halt", $globals.Error, [], "Kernel-Exceptions");
@@ -622,7 +622,7 @@ $1=self._new();
 $recv($1)._exception_(anException);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{anException:anException},$globals.JavaScriptException.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{anException:anException},$globals.JavaScriptException.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -632,7 +632,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["exception:", "new", "yourself"]
 }),
-$globals.JavaScriptException.klass);
+$globals.JavaScriptException.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -649,7 +649,7 @@ $recv($1)._exception_(anException);
 $recv($1)._context_(aMethodContext);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:context:",{anException:anException,aMethodContext:aMethodContext},$globals.JavaScriptException.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:context:",{anException:anException,aMethodContext:aMethodContext},$globals.JavaScriptException.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -659,7 +659,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["exception:", "new", "context:", "yourself"]
 }),
-$globals.JavaScriptException.klass);
+$globals.JavaScriptException.a$cls);
 
 
 $core.addClass("MessageNotUnderstood", $globals.Error, ["message", "receiver"], "Kernel-Exceptions");

+ 74 - 77
src/Kernel-Infrastructure.js

@@ -238,7 +238,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=$recv($globals.JSObjectProxy)._lookupProperty_ofProxy_($recv($recv(aMessage)._selector())._asJavaScriptPropertyName(),self);
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return (
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -506,7 +506,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"addObjectVariablesTo:ofProxy:",{aDictionary:aDictionary,aProxy:aProxy},$globals.JSObjectProxy.klass)});
+}, function($ctx1) {$ctx1.fill(self,"addObjectVariablesTo:ofProxy:",{aDictionary:aDictionary,aProxy:aProxy},$globals.JSObjectProxy.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -516,7 +516,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.JSObjectProxy.klass);
+$globals.JSObjectProxy.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -528,21 +528,21 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 
-	var anotherJSObject = anotherProxy.klass ? anotherProxy["@jsObject"] : anotherProxy;
+	var anotherJSObject = anotherProxy.a$cls ? anotherProxy["@jsObject"] : anotherProxy;
 	return aProxy["@jsObject"] === anotherJSObject;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"compareJSObjectOfProxy:withProxy:",{aProxy:aProxy,anotherProxy:anotherProxy},$globals.JSObjectProxy.klass)});
+}, function($ctx1) {$ctx1.fill(self,"compareJSObjectOfProxy:withProxy:",{aProxy:aProxy,anotherProxy:anotherProxy},$globals.JSObjectProxy.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aProxy", "anotherProxy"],
-source: "compareJSObjectOfProxy: aProxy withProxy: anotherProxy\x0a<inlineJS: '\x0a\x09var anotherJSObject = anotherProxy.klass ? anotherProxy[\x22@jsObject\x22] : anotherProxy;\x0a\x09return aProxy[\x22@jsObject\x22] === anotherJSObject\x0a'>",
+source: "compareJSObjectOfProxy: aProxy withProxy: anotherProxy\x0a<inlineJS: '\x0a\x09var anotherJSObject = anotherProxy.a$cls ? anotherProxy[\x22@jsObject\x22] : anotherProxy;\x0a\x09return aProxy[\x22@jsObject\x22] === anotherJSObject\x0a'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.JSObjectProxy.klass);
+$globals.JSObjectProxy.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -558,7 +558,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"forwardMessage:withArguments:ofProxy:",{aString:aString,anArray:anArray,aProxy:aProxy},$globals.JSObjectProxy.klass)});
+}, function($ctx1) {$ctx1.fill(self,"forwardMessage:withArguments:ofProxy:",{aString:aString,anArray:anArray,aProxy:aProxy},$globals.JSObjectProxy.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -568,7 +568,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.JSObjectProxy.klass);
+$globals.JSObjectProxy.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -582,7 +582,7 @@ return $core.withContext(function($ctx1) {
 aProxy['@jsObject'] = aJSObject;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"jsObject:ofProxy:",{aJSObject:aJSObject,aProxy:aProxy},$globals.JSObjectProxy.klass)});
+}, function($ctx1) {$ctx1.fill(self,"jsObject:ofProxy:",{aJSObject:aJSObject,aProxy:aProxy},$globals.JSObjectProxy.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -592,7 +592,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.JSObjectProxy.klass);
+$globals.JSObjectProxy.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -606,7 +606,7 @@ return $core.withContext(function($ctx1) {
 return aString in aProxy._jsObject() ? aString : nil;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"lookupProperty:ofProxy:",{aString:aString,aProxy:aProxy},$globals.JSObjectProxy.klass)});
+}, function($ctx1) {$ctx1.fill(self,"lookupProperty:ofProxy:",{aString:aString,aProxy:aProxy},$globals.JSObjectProxy.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -616,7 +616,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.JSObjectProxy.klass);
+$globals.JSObjectProxy.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -632,7 +632,7 @@ instance=self._new();
 self._jsObject_ofProxy_(aJSObject,instance);
 return instance;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aJSObject:aJSObject,instance:instance},$globals.JSObjectProxy.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aJSObject:aJSObject,instance:instance},$globals.JSObjectProxy.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -642,7 +642,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new", "jsObject:ofProxy:"]
 }),
-$globals.JSObjectProxy.klass);
+$globals.JSObjectProxy.a$cls);
 
 
 $core.addClass("Organizer", $globals.Object, [], "Kernel-Infrastructure");
@@ -1121,7 +1121,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@imports"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 var parsed;
 parsed=self._importsFromJson_(self._basicImports());
 parsed;
@@ -1317,7 +1317,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@dirty"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
 return $1;
@@ -1432,7 +1432,7 @@ $5=$recv(each)._protocols();
 $ctx2.sendIdx["protocols"]=1;
 //>>excludeEnd("ctx");
 $7=$recv(each)._theMetaClass();
-if(($receiver = $7) == null || $receiver.isNil){
+if(($receiver = $7) == null || $receiver.a$nil){
 $6=[];
 } else {
 var meta;
@@ -1750,7 +1750,7 @@ $recv($1)._at_put_(each,$2);
 $ctx2.sendIdx["at:put:"]=1;
 //>>excludeEnd("ctx");
 $3=$recv(each)._theMetaClass();
-if(($receiver = $3) == null || $receiver.isNil){
+if(($receiver = $3) == null || $receiver.a$nil){
 return $3;
 } else {
 var meta;
@@ -1794,7 +1794,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
 $1=self["@transport"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $2=$recv($globals.PackageTransport)._fromJson_(self._basicTransport());
 $recv($2)._package_(self);
 self["@transport"]=$recv($2)._yourself();
@@ -1905,7 +1905,7 @@ messageSends: ["do:", "ifFalse:", "isString", "respondsTo:", "error:", "&", "key
 $globals.Package);
 
 
-$globals.Package.klass.iVarNames = ["defaultCommitPathJs", "defaultCommitPathSt"];
+$globals.Package.a$cls.iVarNames = ["defaultCommitPathJs", "defaultCommitPathSt"];
 $core.addMethod(
 $core.method({
 selector: "named:",
@@ -1925,7 +1925,7 @@ return $recv($globals.Smalltalk)._createPackage_(aPackageName);
 //>>excludeEnd("ctx");
 }));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"named:",{aPackageName:aPackageName},$globals.Package.klass)});
+}, function($ctx1) {$ctx1.fill(self,"named:",{aPackageName:aPackageName},$globals.Package.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1935,7 +1935,7 @@ referencedClasses: ["Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["packageAt:ifAbsent:", "createPackage:"]
 }),
-$globals.Package.klass);
+$globals.Package.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1948,7 +1948,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv($globals.Smalltalk)._packageAt_ifAbsent_(aPackageName,aBlock);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"named:ifAbsent:",{aPackageName:aPackageName,aBlock:aBlock},$globals.Package.klass)});
+}, function($ctx1) {$ctx1.fill(self,"named:ifAbsent:",{aPackageName:aPackageName,aBlock:aBlock},$globals.Package.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1958,7 +1958,7 @@ referencedClasses: ["Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["packageAt:ifAbsent:"]
 }),
-$globals.Package.klass);
+$globals.Package.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1975,7 +1975,7 @@ $recv(package_)._imports_(anArray);
 $recv(package_)._transport_(aTransport);
 return package_;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"named:imports:transport:",{aPackageName:aPackageName,anArray:anArray,aTransport:aTransport,package_:package_},$globals.Package.klass)});
+}, function($ctx1) {$ctx1.fill(self,"named:imports:transport:",{aPackageName:aPackageName,anArray:anArray,aTransport:aTransport,package_:package_},$globals.Package.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1985,7 +1985,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["named:", "imports:", "transport:"]
 }),
-$globals.Package.klass);
+$globals.Package.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2001,7 +2001,7 @@ package_=self._named_(aPackageName);
 $recv(package_)._transport_(aTransport);
 return package_;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"named:transport:",{aPackageName:aPackageName,aTransport:aTransport,package_:package_},$globals.Package.klass)});
+}, function($ctx1) {$ctx1.fill(self,"named:transport:",{aPackageName:aPackageName,aTransport:aTransport,package_:package_},$globals.Package.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2011,7 +2011,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["named:", "transport:"]
 }),
-$globals.Package.klass);
+$globals.Package.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2084,7 +2084,7 @@ return $recv(aNode)._traverseClassesWith_(expandedClasses);
 }));
 return expandedClasses;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"sortedClasses:",{classes:classes,children:children,others:others,nodes:nodes,expandedClasses:expandedClasses},$globals.Package.klass)});
+}, function($ctx1) {$ctx1.fill(self,"sortedClasses:",{classes:classes,children:children,others:others,nodes:nodes,expandedClasses:expandedClasses},$globals.Package.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2094,7 +2094,7 @@ referencedClasses: ["ClassSorterNode", "Array"],
 //>>excludeEnd("ide");
 messageSends: ["do:", "ifFalse:ifTrue:", "includes:", "superclass", "add:", "collect:", "on:classes:level:", "sorted:", "<=", "name", "theClass", "new", "traverseClassesWith:"]
 }),
-$globals.Package.klass);
+$globals.Package.a$cls);
 
 
 $core.addClass("PackageStateObserver", $globals.Object, [], "Kernel-Infrastructure");
@@ -2173,7 +2173,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=$recv(anAnnouncement)._theClass();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 var theClass;
@@ -2205,7 +2205,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=$recv($recv(anAnnouncement)._method())._package();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 var package_;
@@ -2261,7 +2261,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=$recv(anAnnouncement)._package();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 var package_;
@@ -2283,7 +2283,7 @@ messageSends: ["ifNotNil:", "package", "beDirty"]
 $globals.PackageStateObserver);
 
 
-$globals.PackageStateObserver.klass.iVarNames = ["current"];
+$globals.PackageStateObserver.a$cls.iVarNames = ["current"];
 $core.addMethod(
 $core.method({
 selector: "current",
@@ -2295,14 +2295,14 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@current"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@current"]=self._new();
 return self["@current"];
 } else {
 return $1;
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"current",{},$globals.PackageStateObserver.klass)});
+}, function($ctx1) {$ctx1.fill(self,"current",{},$globals.PackageStateObserver.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2312,7 +2312,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNil:", "new"]
 }),
-$globals.PackageStateObserver.klass);
+$globals.PackageStateObserver.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2326,7 +2326,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._current())._observeSystem();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.PackageStateObserver.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.PackageStateObserver.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2336,7 +2336,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["observeSystem", "current"]
 }),
-$globals.PackageStateObserver.klass);
+$globals.PackageStateObserver.a$cls);
 
 
 $core.addClass("ParseError", $globals.Error, [], "Kernel-Infrastructure");
@@ -2492,7 +2492,7 @@ $1=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.Setting.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
+($globals.Setting.a$cls.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
@@ -2500,7 +2500,7 @@ $recv($1)._key_(aString);
 $recv($1)._defaultValue_(aDefaultValue);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aString:aString,aDefaultValue:aDefaultValue},$globals.Setting.klass)});
+}, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aString:aString,aDefaultValue:aDefaultValue},$globals.Setting.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2510,7 +2510,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["key:", "new", "defaultValue:", "yourself"]
 }),
-$globals.Setting.klass);
+$globals.Setting.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2524,7 +2524,7 @@ return $core.withContext(function($ctx1) {
 self._shouldNotImplement();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.Setting.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.Setting.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2534,7 +2534,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["shouldNotImplement"]
 }),
-$globals.Setting.klass);
+$globals.Setting.a$cls);
 
 
 $core.addClass("SmalltalkImage", $globals.Object, [], "Kernel-Infrastructure");
@@ -2705,7 +2705,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-delete anObject.klass;
+delete anObject.klass; delete anObject.a$cls;;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"cancelOptOut:",{anObject:anObject},$globals.SmalltalkImage)});
@@ -2713,7 +2713,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anObject"],
-source: "cancelOptOut: anObject\x0a\x09\x22A Smalltalk object has a 'klass' property.\x0a\x09If this property is shadowed for anObject by optOut:,\x0a\x09the object is treated as plain JS object.\x0a\x09This removes the shadow and anObject is Smalltalk object\x0a\x09again if it was before.\x22\x0a\x09\x0a\x09<inlineJS: 'delete anObject.klass'>",
+source: "cancelOptOut: anObject\x0a\x09\x22A Smalltalk object has a 'a$cls' property.\x0a\x09If this property is shadowed for anObject by optOut:,\x0a\x09the object is treated as plain JS object.\x0a\x09This removes the shadow and anObject is Smalltalk object\x0a\x09again if it was before.\x22\x0a\x09\x0a\x09<inlineJS: 'delete anObject.klass; delete anObject.a$cls;'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -3029,7 +3029,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return anObject.klass != null;
+return anObject.a$cls != null;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"isSmalltalkObject:",{anObject:anObject},$globals.SmalltalkImage)});
@@ -3037,7 +3037,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anObject"],
-source: "isSmalltalkObject: anObject\x0a\x09\x22Consider anObject a Smalltalk object if it has a 'klass' property.\x0a\x09Note that this may be unaccurate\x22\x0a\x09\x0a\x09<inlineJS: 'return anObject.klass != null'>",
+source: "isSmalltalkObject: anObject\x0a\x09\x22Consider anObject a Smalltalk object if it has a 'a$cls' property.\x0a\x09Note that this may be unaccurate\x22\x0a\x09\x0a\x09<inlineJS: 'return anObject.a$cls != null'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -3053,7 +3053,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-anObject.klass = null;
+anObject.klass = null; anObject.a$cls = null;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"optOut:",{anObject:anObject},$globals.SmalltalkImage)});
@@ -3061,7 +3061,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anObject"],
-source: "optOut: anObject\x0a\x09\x22A Smalltalk object has a 'klass' property.\x0a\x09This shadows the property for anObject.\x0a\x09The object is treated as plain JS object following this.\x22\x0a\x09\x0a\x09<inlineJS: 'anObject.klass = null'>",
+source: "optOut: anObject\x0a\x09\x22A Smalltalk object has a 'a$cls' property.\x0a\x09This shadows the property for anObject.\x0a\x09The object is treated as plain JS object following this.\x22\x0a\x09\x0a\x09<inlineJS: 'anObject.klass = null; anObject.a$cls = null'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -3196,47 +3196,44 @@ selector: "parseError:parsing:",
 protocol: "error handling",
 fn: function (anException,aString){
 var self=this;
+var pos;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$7,$6,$5,$8,$4,$3,$2;
-$1=$recv($globals.ParseError)._new();
-$7=$recv(anException)._basicAt_("line");
+var $1,$2,$6,$5,$4,$3;
+$1=$recv(anException)._basicAt_("location");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["basicAt:"]=1;
 //>>excludeEnd("ctx");
-$6="Parse error on line ".__comma($7);
-$5=$recv($6).__comma(" column ");
+pos=$recv($1)._start();
+$2=$recv($globals.ParseError)._new();
+$6=$recv("Parse error on line ".__comma($recv(pos)._line())).__comma(" column ");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx[","]=4;
 //>>excludeEnd("ctx");
-$8=$recv(anException)._basicAt_("column");
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["basicAt:"]=2;
-//>>excludeEnd("ctx");
-$4=$recv($5).__comma($8);
+$5=$recv($6).__comma($recv(pos)._column());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx[","]=3;
 //>>excludeEnd("ctx");
-$3=$recv($4).__comma(" : Unexpected character ");
+$4=$recv($5).__comma(" : Unexpected character ");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx[","]=2;
 //>>excludeEnd("ctx");
-$2=$recv($3).__comma($recv(anException)._basicAt_("found"));
+$3=$recv($4).__comma($recv(anException)._basicAt_("found"));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx[","]=1;
 //>>excludeEnd("ctx");
-return $recv($1)._messageText_($2);
+return $recv($2)._messageText_($3);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"parseError:parsing:",{anException:anException,aString:aString},$globals.SmalltalkImage)});
+}, function($ctx1) {$ctx1.fill(self,"parseError:parsing:",{anException:anException,aString:aString,pos:pos},$globals.SmalltalkImage)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anException", "aString"],
-source: "parseError: anException parsing: aString\x0a\x09^ ParseError new messageText: 'Parse error on line ', (anException basicAt: 'line') ,' column ' , (anException basicAt: 'column') ,' : Unexpected character ', (anException basicAt: 'found')",
+source: "parseError: anException parsing: aString\x0a\x09| pos |\x0a\x09pos := (anException basicAt: 'location') start.\x0a\x09^ ParseError new messageText: 'Parse error on line ', pos line ,' column ' , pos column ,' : Unexpected character ', (anException basicAt: 'found')",
 referencedClasses: ["ParseError"],
 //>>excludeEnd("ide");
-messageSends: ["messageText:", "new", ",", "basicAt:"]
+messageSends: ["start", "basicAt:", "messageText:", "new", ",", "line", "column"]
 }),
 $globals.SmalltalkImage);
 
@@ -3436,7 +3433,7 @@ $ctx2.sendIdx["error:"]=1;
 //>>excludeEnd("ctx");
 }));
 $2=self._packageAt_(newName);
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 $2;
 } else {
 self._error_("Already exists a package called: ".__comma(newName));
@@ -3519,7 +3516,7 @@ messageSends: []
 $globals.SmalltalkImage);
 
 
-$globals.SmalltalkImage.klass.iVarNames = ["current"];
+$globals.SmalltalkImage.a$cls.iVarNames = ["current"];
 $core.addMethod(
 $core.method({
 selector: "current",
@@ -3531,12 +3528,12 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@current"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@current"]=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.SmalltalkImage.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
+($globals.SmalltalkImage.a$cls.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
@@ -3546,7 +3543,7 @@ self._deprecatedAPI();
 return self["@current"];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"current",{},$globals.SmalltalkImage.klass)});
+}, function($ctx1) {$ctx1.fill(self,"current",{},$globals.SmalltalkImage.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3556,7 +3553,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNil:ifNotNil:", "new", "deprecatedAPI"]
 }),
-$globals.SmalltalkImage.klass);
+$globals.SmalltalkImage.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3572,7 +3569,7 @@ st=self._current();
 $recv($recv(st)._globals())._at_put_("Smalltalk",st);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{st:st},$globals.SmalltalkImage.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{st:st},$globals.SmalltalkImage.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3582,7 +3579,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["current", "at:put:", "globals"]
 }),
-$globals.SmalltalkImage.klass);
+$globals.SmalltalkImage.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3596,7 +3593,7 @@ return $core.withContext(function($ctx1) {
 self._shouldNotImplement();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.SmalltalkImage.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.SmalltalkImage.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3606,7 +3603,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["shouldNotImplement"]
 }),
-$globals.SmalltalkImage.klass);
+$globals.SmalltalkImage.a$cls);
 
 $core.setTraitComposition([{trait: $globals.TThenable}], $globals.JSObjectProxy);
 

+ 10 - 8
src/Kernel-Infrastructure.st

@@ -171,7 +171,7 @@ addObjectVariablesTo: aDictionary ofProxy: aProxy
 
 compareJSObjectOfProxy: aProxy withProxy: anotherProxy
 <inlineJS: '
-	var anotherJSObject = anotherProxy.klass ? anotherProxy["@jsObject"] : anotherProxy;
+	var anotherJSObject = anotherProxy.a$cls ? anotherProxy["@jsObject"] : anotherProxy;
 	return aProxy["@jsObject"] === anotherJSObject
 '>
 !
@@ -716,13 +716,13 @@ It requires the `Compiler` package and the `support/parser.js` parser file in or
 !SmalltalkImage methodsFor: 'accessing'!
 
 cancelOptOut: anObject
-	"A Smalltalk object has a 'klass' property.
+	"A Smalltalk object has a 'a$cls' property.
 	If this property is shadowed for anObject by optOut:,
 	the object is treated as plain JS object.
 	This removes the shadow and anObject is Smalltalk object
 	again if it was before."
 	
-	<inlineJS: 'delete anObject.klass'>
+	<inlineJS: 'delete anObject.klass; delete anObject.a$cls;'>
 !
 
 core
@@ -738,11 +738,11 @@ includesKey: aKey
 !
 
 optOut: anObject
-	"A Smalltalk object has a 'klass' property.
+	"A Smalltalk object has a 'a$cls' property.
 	This shadows the property for anObject.
 	The object is treated as plain JS object following this."
 	
-	<inlineJS: 'anObject.klass = null'>
+	<inlineJS: 'anObject.klass = null; anObject.a$cls = null'>
 !
 
 parse: aString
@@ -826,7 +826,9 @@ asSmalltalkException: anObject
 !
 
 parseError: anException parsing: aString
-	^ ParseError new messageText: 'Parse error on line ', (anException basicAt: 'line') ,' column ' , (anException basicAt: 'column') ,' : Unexpected character ', (anException basicAt: 'found')
+	| pos |
+	pos := (anException basicAt: 'location') start.
+	^ ParseError new messageText: 'Parse error on line ', pos line ,' column ' , pos column ,' : Unexpected character ', (anException basicAt: 'found')
 ! !
 
 !SmalltalkImage methodsFor: 'globals'!
@@ -938,10 +940,10 @@ existsJsGlobal: aString
 !
 
 isSmalltalkObject: anObject
-	"Consider anObject a Smalltalk object if it has a 'klass' property.
+	"Consider anObject a Smalltalk object if it has a 'a$cls' property.
 	Note that this may be unaccurate"
 	
-	<inlineJS: 'return anObject.klass !!= null'>
+	<inlineJS: 'return anObject.a$cls !!= null'>
 ! !
 
 SmalltalkImage class instanceVariableNames: 'current'!

+ 69 - 69
src/Kernel-Methods.js

@@ -914,7 +914,7 @@ superclass=$recv($1)._superclass();
 $ctx1.sendIdx["superclass"]=1;
 //>>excludeEnd("ctx");
 $2=superclass;
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 return false;
 } else {
 $2;
@@ -990,7 +990,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._methodClass();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 var class_;
@@ -1021,7 +1021,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._basicAt_("protocol");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return self._defaultProtocol();
 } else {
 return $1;
@@ -1059,7 +1059,7 @@ $recv($3)._oldProtocol_(oldProtocol);
 $2=$recv($3)._yourself();
 $recv($1)._announce_($2);
 $4=self._methodClass();
-if(($receiver = $4) == null || $receiver.isNil){
+if(($receiver = $4) == null || $receiver.a$nil){
 $4;
 } else {
 var methodClass;
@@ -1185,7 +1185,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._basicAt_("source");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return "";
 } else {
 return $1;
@@ -1416,7 +1416,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@maxPoolSize"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return self._defaultMaxPoolSize();
 } else {
 return $1;
@@ -1454,7 +1454,7 @@ messageSends: []
 $globals.ForkPool);
 
 
-$globals.ForkPool.klass.iVarNames = ["default"];
+$globals.ForkPool.a$cls.iVarNames = ["default"];
 $core.addMethod(
 $core.method({
 selector: "default",
@@ -1466,14 +1466,14 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@default"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self["@default"]=self._new();
 return self["@default"];
 } else {
 return $1;
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"default",{},$globals.ForkPool.klass)});
+}, function($ctx1) {$ctx1.fill(self,"default",{},$globals.ForkPool.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1483,7 +1483,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNil:", "new"]
 }),
-$globals.ForkPool.klass);
+$globals.ForkPool.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1501,7 +1501,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.ForkPool.klass);
+$globals.ForkPool.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1520,7 +1520,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.ForkPool.klass);
+$globals.ForkPool.a$cls);
 
 
 $core.addClass("Message", $globals.Object, ["selector", "arguments"], "Kernel-Methods");
@@ -1680,7 +1680,7 @@ $recv($1)._selector_(aString);
 $recv($1)._arguments_(anArray);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"selector:arguments:",{aString:aString,anArray:anArray},$globals.Message.klass)});
+}, function($ctx1) {$ctx1.fill(self,"selector:arguments:",{aString:aString,anArray:anArray},$globals.Message.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1690,7 +1690,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["selector:", "new", "arguments:", "yourself"]
 }),
-$globals.Message.klass);
+$globals.Message.a$cls);
 
 
 $core.addClass("MessageSend", $globals.Object, ["receiver", "message"], "Kernel-Methods");
@@ -2342,7 +2342,7 @@ $1=self._methodContext();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["methodContext"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return nil;
 } else {
 $1;
@@ -2367,7 +2367,7 @@ method=$recv($4)._lookupSelector_($5);
 $ctx1.sendIdx["lookupSelector:"]=1;
 //>>excludeEnd("ctx");
 $7=self._outerContext();
-if(($receiver = $7) == null || $receiver.isNil){
+if(($receiver = $7) == null || $receiver.a$nil){
 supercall=false;
 } else {
 var outer;
@@ -2408,7 +2408,7 @@ if(!$core.assert($1)){
 return self;
 }
 $2=self._outerContext();
-if(($receiver = $2) == null || $receiver.isNil){
+if(($receiver = $2) == null || $receiver.a$nil){
 return $2;
 } else {
 var outer;
@@ -2657,7 +2657,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorNamed:",{aString:aString},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorNamed:",{aString:aString},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2667,7 +2667,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2684,7 +2684,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorNamed:value:",{aString:aString,anObject:anObject},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorNamed:value:",{aString:aString,anObject:anObject},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2694,7 +2694,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2711,7 +2711,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorNamed:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorNamed:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2721,7 +2721,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2738,7 +2738,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorNamed:value:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorNamed:value:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2748,7 +2748,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2764,7 +2764,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorOf:",{nativeFunc:nativeFunc},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorOf:",{nativeFunc:nativeFunc},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2774,7 +2774,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2790,7 +2790,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorOf:value:",{nativeFunc:nativeFunc,anObject:anObject},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorOf:value:",{nativeFunc:nativeFunc,anObject:anObject},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2800,7 +2800,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2816,7 +2816,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorOf:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorOf:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2826,7 +2826,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2842,7 +2842,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"constructorOf:value:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"constructorOf:value:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2852,7 +2852,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2865,7 +2865,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv($globals.Smalltalk)._existsJsGlobal_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"exists:",{aString:aString},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"exists:",{aString:aString},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2875,7 +2875,7 @@ referencedClasses: ["Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["existsJsGlobal:"]
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2892,7 +2892,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionNamed:",{aString:aString},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionNamed:",{aString:aString},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2902,7 +2902,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2919,7 +2919,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionNamed:value:",{aString:aString,anObject:anObject},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionNamed:value:",{aString:aString,anObject:anObject},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2929,7 +2929,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2946,7 +2946,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionNamed:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionNamed:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2956,7 +2956,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -2973,7 +2973,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionNamed:value:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionNamed:value:value:value:",{aString:aString,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2983,7 +2983,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3000,7 +3000,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionNamed:valueWithArgs:",{aString:aString,args:args},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionNamed:valueWithArgs:",{aString:aString,args:args},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3010,7 +3010,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3026,7 +3026,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionOf:",{nativeFunc:nativeFunc},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionOf:",{nativeFunc:nativeFunc},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3036,7 +3036,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3052,7 +3052,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionOf:value:",{nativeFunc:nativeFunc,anObject:anObject},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionOf:value:",{nativeFunc:nativeFunc,anObject:anObject},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3062,7 +3062,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3078,7 +3078,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionOf:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionOf:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3088,7 +3088,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3104,7 +3104,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionOf:value:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionOf:value:value:value:",{nativeFunc:nativeFunc,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3114,7 +3114,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3130,7 +3130,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"functionOf:valueWithArgs:",{nativeFunc:nativeFunc,args:args},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"functionOf:valueWithArgs:",{nativeFunc:nativeFunc,args:args},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3140,7 +3140,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3154,7 +3154,7 @@ return $core.withContext(function($ctx1) {
 return typeof anObject === "function";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isNativeFunction:",{anObject:anObject},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isNativeFunction:",{anObject:anObject},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3164,7 +3164,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3180,7 +3180,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"methodOf:this:",{nativeFunc:nativeFunc,thisObject:thisObject},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"methodOf:this:",{nativeFunc:nativeFunc,thisObject:thisObject},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3190,7 +3190,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3206,7 +3206,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"methodOf:this:value:",{nativeFunc:nativeFunc,thisObject:thisObject,anObject:anObject},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"methodOf:this:value:",{nativeFunc:nativeFunc,thisObject:thisObject,anObject:anObject},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3216,7 +3216,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3232,7 +3232,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"methodOf:this:value:value:",{nativeFunc:nativeFunc,thisObject:thisObject,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"methodOf:this:value:value:",{nativeFunc:nativeFunc,thisObject:thisObject,anObject:anObject,anObject2:anObject2},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3242,7 +3242,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3258,7 +3258,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"methodOf:this:value:value:value:",{nativeFunc:nativeFunc,thisObject:thisObject,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"methodOf:this:value:value:value:",{nativeFunc:nativeFunc,thisObject:thisObject,anObject:anObject,anObject2:anObject2,anObject3:anObject3},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3268,7 +3268,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3284,7 +3284,7 @@ return $core.withContext(function($ctx1) {
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"methodOf:this:valueWithArgs:",{nativeFunc:nativeFunc,thisObject:thisObject,args:args},$globals.NativeFunction.klass)});
+}, function($ctx1) {$ctx1.fill(self,"methodOf:this:valueWithArgs:",{nativeFunc:nativeFunc,thisObject:thisObject,args:args},$globals.NativeFunction.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3294,7 +3294,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NativeFunction.klass);
+$globals.NativeFunction.a$cls);
 
 
 $core.addClass("Timeout", $globals.Object, ["rawTimeout"], "Kernel-Methods");
@@ -3389,7 +3389,7 @@ $1=self._new();
 $recv($1)._rawTimeout_(anObject);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{anObject:anObject},$globals.Timeout.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{anObject:anObject},$globals.Timeout.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3399,6 +3399,6 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["rawTimeout:", "new", "yourself"]
 }),
-$globals.Timeout.klass);
+$globals.Timeout.a$cls);
 
 });

+ 41 - 41
src/Kernel-Objects.js

@@ -137,7 +137,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return self.klass;
+return self.a$cls;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"class",{},$globals.ProtoObject)});
@@ -145,7 +145,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "class\x0a\x09<inlineJS: 'return self.klass'>",
+source: "class\x0a\x09<inlineJS: 'return self.a$cls'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -734,7 +734,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.ProtoObject.klass);
+$globals.ProtoObject.a$cls);
 
 
 $core.addClass("Object", $globals.ProtoObject, [], "Kernel-Objects");
@@ -1020,7 +1020,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 
-		var copy = self.klass._new();
+		var copy = self.a$cls._new();
 		Object.keys(self).forEach(function (i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i]._deepCopy();
@@ -1035,7 +1035,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "deepCopy\x0a\x09<inlineJS: '\x0a\x09\x09var copy = self.klass._new();\x0a\x09\x09Object.keys(self).forEach(function (i) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i]._deepCopy();\x0a\x09\x09}\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09'>",
+source: "deepCopy\x0a\x09<inlineJS: '\x0a\x09\x09var copy = self.a$cls._new();\x0a\x09\x09Object.keys(self).forEach(function (i) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i]._deepCopy();\x0a\x09\x09}\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -1509,7 +1509,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 
-		var copy = self.klass._new();
+		var copy = self.a$cls._new();
 		Object.keys(self).forEach(function(i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i];
@@ -1524,7 +1524,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "shallowCopy\x0a\x09<inlineJS: '\x0a\x09\x09var copy = self.klass._new();\x0a\x09\x09Object.keys(self).forEach(function(i) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i];\x0a\x09\x09}\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09'>",
+source: "shallowCopy\x0a\x09<inlineJS: '\x0a\x09\x09var copy = self.a$cls._new();\x0a\x09\x09Object.keys(self).forEach(function(i) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i];\x0a\x09\x09}\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -1640,7 +1640,7 @@ return $core.withContext(function($ctx1) {
 $recv(aGenerator)._accessorProtocolForObject();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"accessorProtocolWith:",{aGenerator:aGenerator},$globals.Object.klass)});
+}, function($ctx1) {$ctx1.fill(self,"accessorProtocolWith:",{aGenerator:aGenerator},$globals.Object.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1650,7 +1650,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["accessorProtocolForObject"]
 }),
-$globals.Object.klass);
+$globals.Object.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1664,7 +1664,7 @@ return $core.withContext(function($ctx1) {
 $recv(aGenerator)._accessorsForObject();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"accessorsSourceCodesWith:",{aGenerator:aGenerator},$globals.Object.klass)});
+}, function($ctx1) {$ctx1.fill(self,"accessorsSourceCodesWith:",{aGenerator:aGenerator},$globals.Object.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1674,7 +1674,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["accessorsForObject"]
 }),
-$globals.Object.klass);
+$globals.Object.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1692,7 +1692,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Object.klass);
+$globals.Object.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1706,7 +1706,7 @@ return $core.withContext(function($ctx1) {
 $recv(aGenerator)._initializeProtocolForObject();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initializeProtocolWith:",{aGenerator:aGenerator},$globals.Object.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initializeProtocolWith:",{aGenerator:aGenerator},$globals.Object.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1716,7 +1716,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["initializeProtocolForObject"]
 }),
-$globals.Object.klass);
+$globals.Object.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1730,7 +1730,7 @@ return $core.withContext(function($ctx1) {
 $recv(aGenerator)._initializeForObject();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initializeSourceCodesWith:",{aGenerator:aGenerator},$globals.Object.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initializeSourceCodesWith:",{aGenerator:aGenerator},$globals.Object.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1740,7 +1740,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["initializeForObject"]
 }),
-$globals.Object.klass);
+$globals.Object.a$cls);
 
 
 $core.addClass("Boolean", $globals.Object, [], "Kernel-Objects");
@@ -3035,7 +3035,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3048,7 +3048,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._new_(aNumber);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromMilliseconds:",{aNumber:aNumber},$globals.Date.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromMilliseconds:",{aNumber:aNumber},$globals.Date.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3058,7 +3058,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new:"]
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3071,7 +3071,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._fromMilliseconds_($recv(aNumber).__star((1000)));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromSeconds:",{aNumber:aNumber},$globals.Date.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromSeconds:",{aNumber:aNumber},$globals.Date.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3081,7 +3081,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["fromMilliseconds:", "*"]
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3094,7 +3094,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._new_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.Date.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString},$globals.Date.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3104,7 +3104,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new:"]
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3123,7 +3123,7 @@ $ctx1.sendIdx["now"]=1;
 $recv(aBlock)._value();
 return $recv($recv($globals.Date)._now()).__minus(t);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"millisecondsToRun:",{aBlock:aBlock,t:t},$globals.Date.klass)});
+}, function($ctx1) {$ctx1.fill(self,"millisecondsToRun:",{aBlock:aBlock,t:t},$globals.Date.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3133,7 +3133,7 @@ referencedClasses: ["Date"],
 //>>excludeEnd("ide");
 messageSends: ["now", "value", "-"]
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3147,7 +3147,7 @@ return $core.withContext(function($ctx1) {
 return new Date(anObject);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new:",{anObject:anObject},$globals.Date.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new:",{anObject:anObject},$globals.Date.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3157,7 +3157,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3170,7 +3170,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._today();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"now",{},$globals.Date.klass)});
+}, function($ctx1) {$ctx1.fill(self,"now",{},$globals.Date.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3180,7 +3180,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["today"]
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3193,7 +3193,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self._new();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"today",{},$globals.Date.klass)});
+}, function($ctx1) {$ctx1.fill(self,"today",{},$globals.Date.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3203,7 +3203,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new"]
 }),
-$globals.Date.klass);
+$globals.Date.a$cls);
 
 
 $core.addClass("Number", $globals.Object, [], "Kernel-Objects");
@@ -4791,7 +4791,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Number.klass);
+$globals.Number.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4805,7 +4805,7 @@ return $core.withContext(function($ctx1) {
 return Math.E;;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"e",{},$globals.Number.klass)});
+}, function($ctx1) {$ctx1.fill(self,"e",{},$globals.Number.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4815,7 +4815,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Number.klass);
+$globals.Number.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4829,7 +4829,7 @@ return $core.withContext(function($ctx1) {
 return Math.PI;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"pi",{},$globals.Number.klass)});
+}, function($ctx1) {$ctx1.fill(self,"pi",{},$globals.Number.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4839,7 +4839,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Number.klass);
+$globals.Number.a$cls);
 
 
 $core.addClass("Point", $globals.Object, ["x", "y"], "Kernel-Objects");
@@ -5457,7 +5457,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Point.klass);
+$globals.Point.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -5474,7 +5474,7 @@ $recv($1)._x_(aNumber);
 $recv($1)._y_(anotherNumber);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"x:y:",{aNumber:aNumber,anotherNumber:anotherNumber},$globals.Point.klass)});
+}, function($ctx1) {$ctx1.fill(self,"x:y:",{aNumber:aNumber,anotherNumber:anotherNumber},$globals.Point.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -5484,7 +5484,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["x:", "new", "y:", "yourself"]
 }),
-$globals.Point.klass);
+$globals.Point.a$cls);
 
 
 $core.addClass("Random", $globals.Object, [], "Kernel-Objects");
@@ -5786,7 +5786,7 @@ return $core.withContext(function($ctx1) {
 self._error_("You cannot create new instances of UndefinedObject. Use nil");
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.UndefinedObject.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.UndefinedObject.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -5796,7 +5796,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["error:"]
 }),
-$globals.UndefinedObject.klass);
+$globals.UndefinedObject.a$cls);
 
 $core.setTraitComposition([{trait: $globals.TSubclassable}], $globals.UndefinedObject);
 

+ 3 - 3
src/Kernel-Objects.st

@@ -10,7 +10,7 @@ In most cases, subclassing `ProtoObject` is wrong and `Object` should be used in
 !ProtoObject methodsFor: 'accessing'!
 
 class
-	<inlineJS: 'return self.klass'>
+	<inlineJS: 'return self.a$cls'>
 !
 
 identityHash
@@ -262,7 +262,7 @@ copy
 
 deepCopy
 	<inlineJS: '
-		var copy = self.klass._new();
+		var copy = self.a$cls._new();
 		Object.keys(self).forEach(function (i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i]._deepCopy();
@@ -277,7 +277,7 @@ postCopy
 
 shallowCopy
 	<inlineJS: '
-		var copy = self.klass._new();
+		var copy = self.a$cls._new();
 		Object.keys(self).forEach(function(i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i];

+ 14 - 14
src/Kernel-Promises.js

@@ -20,7 +20,7 @@ return $core.withContext(function($ctx1) {
 return Promise.all($recv(aCollection)._asArray());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"all:",{aCollection:aCollection},$globals.Promise.klass)});
+}, function($ctx1) {$ctx1.fill(self,"all:",{aCollection:aCollection},$globals.Promise.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -30,7 +30,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Promise.klass);
+$globals.Promise.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -44,7 +44,7 @@ return $core.withContext(function($ctx1) {
 return Promise.race($recv(aCollection)._asArray());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"any:",{aCollection:aCollection},$globals.Promise.klass)});
+}, function($ctx1) {$ctx1.fill(self,"any:",{aCollection:aCollection},$globals.Promise.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -54,7 +54,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Promise.klass);
+$globals.Promise.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -67,7 +67,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._new())._then_(aBlock);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"forBlock:",{aBlock:aBlock},$globals.Promise.klass)});
+}, function($ctx1) {$ctx1.fill(self,"forBlock:",{aBlock:aBlock},$globals.Promise.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -77,7 +77,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["then:", "new"]
 }),
-$globals.Promise.klass);
+$globals.Promise.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -91,7 +91,7 @@ return $core.withContext(function($ctx1) {
 return Promise.resolve();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.Promise.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.Promise.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -101,7 +101,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Promise.klass);
+$globals.Promise.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -118,7 +118,7 @@ return new Promise(function (resolve, reject) {
 });
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new:",{aBlock:aBlock},$globals.Promise.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new:",{aBlock:aBlock},$globals.Promise.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -128,7 +128,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Promise.klass);
+$globals.Promise.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -142,7 +142,7 @@ return $core.withContext(function($ctx1) {
 return $recv(anObject)._in_(function (x) {return Promise.reject(x)});
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"signal:",{anObject:anObject},$globals.Promise.klass)});
+}, function($ctx1) {$ctx1.fill(self,"signal:",{anObject:anObject},$globals.Promise.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -152,7 +152,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Promise.klass);
+$globals.Promise.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -166,7 +166,7 @@ return $core.withContext(function($ctx1) {
 return $recv(anObject)._in_(function (x) {return Promise.resolve(x)});
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},$globals.Promise.klass)});
+}, function($ctx1) {$ctx1.fill(self,"value:",{anObject:anObject},$globals.Promise.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -176,7 +176,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Promise.klass);
+$globals.Promise.a$cls);
 
 
 $core.addTrait("TThenable", "Kernel-Promises");

+ 23 - 183
src/Kernel-Tests.js

@@ -1932,7 +1932,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@theClass"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $recv($globals.Smalltalk)._removeClass_(self["@theClass"]);
@@ -2305,7 +2305,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@theClass"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $recv($recv(self["@theClass"])._allSubclasses())._reverseDo_((function(each){
@@ -4823,7 +4823,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.CollectionTest.klass);
+$globals.CollectionTest.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4836,7 +4836,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._collectionClass())._isNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isAbstract",{},$globals.CollectionTest.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isAbstract",{},$globals.CollectionTest.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4846,7 +4846,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["isNil", "collectionClass"]
 }),
-$globals.CollectionTest.klass);
+$globals.CollectionTest.a$cls);
 
 
 $core.addClass("IndexableCollectionTest", $globals.CollectionTest, [], "Kernel-Tests");
@@ -6707,7 +6707,7 @@ referencedClasses: ["Dictionary"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.DictionaryTest.klass);
+$globals.DictionaryTest.a$cls);
 
 
 $core.addClass("HashedCollectionTest", $globals.AssociativeCollectionTest, [], "Kernel-Tests");
@@ -6896,7 +6896,7 @@ referencedClasses: ["HashedCollection"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.HashedCollectionTest.klass);
+$globals.HashedCollectionTest.a$cls);
 
 
 $core.addClass("SequenceableCollectionTest", $globals.IndexableCollectionTest, [], "Kernel-Tests");
@@ -8149,7 +8149,7 @@ referencedClasses: ["Array"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.ArrayTest.klass);
+$globals.ArrayTest.a$cls);
 
 
 $core.addClass("StringTest", $globals.SequenceableCollectionTest, [], "Kernel-Tests");
@@ -9298,7 +9298,7 @@ referencedClasses: ["String"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.StringTest.klass);
+$globals.StringTest.a$cls);
 
 
 $core.addClass("SetTest", $globals.CollectionTest, [], "Kernel-Tests");
@@ -10030,7 +10030,7 @@ referencedClasses: ["Set"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.SetTest.klass);
+$globals.SetTest.a$cls);
 
 
 $core.addClass("ConsoleTranscriptTest", $globals.TestCase, [], "Kernel-Tests");
@@ -10713,166 +10713,6 @@ messageSends: ["should:raise:", "foo", "jsObject"]
 }),
 $globals.JSObjectProxyTest);
 
-$core.addMethod(
-$core.method({
-selector: "testDNURegression1057",
-protocol: "tests",
-fn: function (){
-var self=this;
-var jsObject;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-var $1;
-jsObject=[];
-$recv(jsObject)._basicAt_put_("allowJavaScriptCalls",true);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["basicAt:put:"]=1;
-//>>excludeEnd("ctx");
-$recv(jsObject)._basicAt_put_("foo",(3));
-self._shouldnt_raise_((function(){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
-return $recv(jsObject)._foo();
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx["foo"]=1;
-//>>excludeEnd("ctx");
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
-//>>excludeEnd("ctx");
-}),$globals.Error);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["shouldnt:raise:"]=1;
-//>>excludeEnd("ctx");
-$1=$recv(jsObject)._foo();
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["foo"]=2;
-//>>excludeEnd("ctx");
-self._assert_equals_($1,(3));
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["assert:equals:"]=1;
-//>>excludeEnd("ctx");
-self._shouldnt_raise_((function(){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
-return $recv(jsObject)._foo_((4));
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
-//>>excludeEnd("ctx");
-}),$globals.Error);
-self._assert_equals_($recv(jsObject)._foo(),(4));
-return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"testDNURegression1057",{jsObject:jsObject},$globals.JSObjectProxyTest)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: [],
-source: "testDNURegression1057\x0a\x09| jsObject |\x0a\x09jsObject := #().\x0a\x09jsObject basicAt: 'allowJavaScriptCalls' put: true.\x0a\x09jsObject basicAt: 'foo' put: 3.\x0a\x09self shouldnt: [ jsObject foo ] raise: Error.\x0a\x09self assert: jsObject foo equals: 3.\x0a\x09self shouldnt: [ jsObject foo: 4 ] raise: Error.\x0a\x09self assert: jsObject foo equals: 4",
-referencedClasses: ["Error"],
-//>>excludeEnd("ide");
-messageSends: ["basicAt:put:", "shouldnt:raise:", "foo", "assert:equals:", "foo:"]
-}),
-$globals.JSObjectProxyTest);
-
-$core.addMethod(
-$core.method({
-selector: "testDNURegression1059",
-protocol: "tests",
-fn: function (){
-var self=this;
-var jsObject;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-jsObject=[];
-$recv(jsObject)._basicAt_put_("allowJavaScriptCalls",true);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["basicAt:put:"]=1;
-//>>excludeEnd("ctx");
-$recv(jsObject)._basicAt_put_("x",(3));
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["basicAt:put:"]=2;
-//>>excludeEnd("ctx");
-$recv(jsObject)._basicAt_put_("x:",(function(){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
-return self._error();
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
-//>>excludeEnd("ctx");
-}));
-self._shouldnt_raise_((function(){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
-return $recv(jsObject)._x_((4));
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
-//>>excludeEnd("ctx");
-}),$globals.Error);
-self._assert_equals_($recv(jsObject)._x(),(4));
-return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"testDNURegression1059",{jsObject:jsObject},$globals.JSObjectProxyTest)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: [],
-source: "testDNURegression1059\x0a\x09| jsObject |\x0a\x09jsObject := #().\x0a\x09jsObject basicAt: 'allowJavaScriptCalls' put: true.\x0a\x09jsObject basicAt: 'x' put: 3.\x0a\x09jsObject basicAt: 'x:' put: [ self error ].\x0a\x09self shouldnt: [ jsObject x: 4 ] raise: Error.\x0a\x09self assert: jsObject x equals: 4",
-referencedClasses: ["Error"],
-//>>excludeEnd("ide");
-messageSends: ["basicAt:put:", "error", "shouldnt:raise:", "x:", "assert:equals:", "x"]
-}),
-$globals.JSObjectProxyTest);
-
-$core.addMethod(
-$core.method({
-selector: "testDNURegression1062",
-protocol: "tests",
-fn: function (){
-var self=this;
-var jsObject,stored;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-jsObject=[];
-$recv(jsObject)._basicAt_put_("allowJavaScriptCalls",true);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx1.sendIdx["basicAt:put:"]=1;
-//>>excludeEnd("ctx");
-$recv(jsObject)._basicAt_put_("x",(function(v){
-stored=v;
-return stored;
-
-}));
-self._shouldnt_raise_((function(){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
-return $recv(jsObject)._x_((4));
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
-//>>excludeEnd("ctx");
-}),$globals.Error);
-self._assert_equals_(stored,(4));
-return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"testDNURegression1062",{jsObject:jsObject,stored:stored},$globals.JSObjectProxyTest)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: [],
-source: "testDNURegression1062\x0a\x09| jsObject stored |\x0a\x09jsObject := #().\x0a\x09jsObject basicAt: 'allowJavaScriptCalls' put: true.\x0a\x09jsObject basicAt: 'x' put: [ :v | stored := v ].\x0a\x09self shouldnt: [ jsObject x: 4 ] raise: Error.\x0a\x09self assert: stored equals: 4",
-referencedClasses: ["Error"],
-//>>excludeEnd("ide");
-messageSends: ["basicAt:put:", "shouldnt:raise:", "x:", "assert:equals:"]
-}),
-$globals.JSObjectProxyTest);
-
 $core.addMethod(
 $core.method({
 selector: "testDNUWithAllowJavaScriptCalls",
@@ -14122,7 +13962,7 @@ $5=$recv($globals.Object)._new();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["new"]=2;
 //>>excludeEnd("ctx");
-if(($receiver = $5) == null || $receiver.isNil){
+if(($receiver = $5) == null || $receiver.a$nil){
 $4=true;
 } else {
 $4=$5;
@@ -14133,7 +13973,7 @@ $7=$recv($globals.Object)._new();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["new"]=3;
 //>>excludeEnd("ctx");
-if(($receiver = $7) == null || $receiver.isNil){
+if(($receiver = $7) == null || $receiver.a$nil){
 $6=$7;
 } else {
 $6=true;
@@ -14146,7 +13986,7 @@ $9=$recv($globals.Object)._new();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["new"]=4;
 //>>excludeEnd("ctx");
-if(($receiver = $9) == null || $receiver.isNil){
+if(($receiver = $9) == null || $receiver.a$nil){
 $8=false;
 } else {
 $8=true;
@@ -14156,7 +13996,7 @@ self._assert_equals_($8,true);
 $ctx1.sendIdx["assert:equals:"]=2;
 //>>excludeEnd("ctx");
 $11=$recv($globals.Object)._new();
-if(($receiver = $11) == null || $receiver.isNil){
+if(($receiver = $11) == null || $receiver.a$nil){
 $10=false;
 } else {
 $10=true;
@@ -15478,7 +15318,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.StreamTest.klass);
+$globals.StreamTest.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -15491,7 +15331,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._collectionClass())._isNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isAbstract",{},$globals.StreamTest.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isAbstract",{},$globals.StreamTest.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -15501,7 +15341,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["isNil", "collectionClass"]
 }),
-$globals.StreamTest.klass);
+$globals.StreamTest.a$cls);
 
 
 $core.addClass("ArrayStreamTest", $globals.StreamTest, [], "Kernel-Tests");
@@ -15545,7 +15385,7 @@ referencedClasses: ["Array"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.ArrayStreamTest.klass);
+$globals.ArrayStreamTest.a$cls);
 
 
 $core.addClass("StringStreamTest", $globals.StreamTest, [], "Kernel-Tests");
@@ -15584,7 +15424,7 @@ referencedClasses: ["String"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.StringStreamTest.klass);
+$globals.StringStreamTest.a$cls);
 
 
 $core.addClass("UndefinedTest", $globals.TestCase, [], "Kernel-Tests");
@@ -15646,7 +15486,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$3,$2,$4,$6,$5,$receiver;
-if(($receiver = nil) == null || $receiver.isNil){
+if(($receiver = nil) == null || $receiver.a$nil){
 $1=true;
 } else {
 $1=nil;
@@ -15655,7 +15495,7 @@ self._assert_equals_($1,true);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["assert:equals:"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = nil) == null || $receiver.isNil){
+if(($receiver = nil) == null || $receiver.a$nil){
 $3=nil;
 } else {
 $3=true;
@@ -15668,13 +15508,13 @@ self._deny_($2);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["deny:"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = nil) == null || $receiver.isNil){
+if(($receiver = nil) == null || $receiver.a$nil){
 $4=true;
 } else {
 $4=false;
 }
 self._assert_equals_($4,true);
-if(($receiver = nil) == null || $receiver.isNil){
+if(($receiver = nil) == null || $receiver.a$nil){
 $6=false;
 } else {
 $6=true;

+ 0 - 30
src/Kernel-Tests.st

@@ -1943,36 +1943,6 @@ testDNU
 	self should: [ self jsObject foo ] raise: MessageNotUnderstood
 !
 
-testDNURegression1057
-	| jsObject |
-	jsObject := #().
-	jsObject basicAt: 'allowJavaScriptCalls' put: true.
-	jsObject basicAt: 'foo' put: 3.
-	self shouldnt: [ jsObject foo ] raise: Error.
-	self assert: jsObject foo equals: 3.
-	self shouldnt: [ jsObject foo: 4 ] raise: Error.
-	self assert: jsObject foo equals: 4
-!
-
-testDNURegression1059
-	| jsObject |
-	jsObject := #().
-	jsObject basicAt: 'allowJavaScriptCalls' put: true.
-	jsObject basicAt: 'x' put: 3.
-	jsObject basicAt: 'x:' put: [ self error ].
-	self shouldnt: [ jsObject x: 4 ] raise: Error.
-	self assert: jsObject x equals: 4
-!
-
-testDNURegression1062
-	| jsObject stored |
-	jsObject := #().
-	jsObject basicAt: 'allowJavaScriptCalls' put: true.
-	jsObject basicAt: 'x' put: [ :v | stored := v ].
-	self shouldnt: [ jsObject x: 4 ] raise: Error.
-	self assert: stored equals: 4
-!
-
 testDNUWithAllowJavaScriptCalls
 	| jsObject |
 	jsObject := #().

+ 9 - 9
src/Platform-Browser.js

@@ -38,7 +38,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $receiver;
-if(($receiver = $globals.XMLHttpRequest) == null || $receiver.isNil){
+if(($receiver = $globals.XMLHttpRequest) == null || $receiver.a$nil){
 self._error_("XMLHttpRequest not available.");
 } else {
 return $recv($globals.NativeFunction)._constructorOf_($globals.XMLHttpRequest);
@@ -74,7 +74,7 @@ $recv($globals.Platform)._registerIfNone_(self._new());
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.BrowserPlatform.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.BrowserPlatform.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -84,7 +84,7 @@ referencedClasses: ["Platform"],
 //>>excludeEnd("ide");
 messageSends: ["ifTrue:", "isFeasible", "registerIfNone:", "new"]
 }),
-$globals.BrowserPlatform.klass);
+$globals.BrowserPlatform.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -98,7 +98,7 @@ return $core.withContext(function($ctx1) {
 return typeof window !== "undefined";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.BrowserPlatform.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.BrowserPlatform.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -108,7 +108,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.BrowserPlatform.klass);
+$globals.BrowserPlatform.a$cls);
 
 
 $core.addClass("BrowserTerminal", $globals.Object, [], "Platform-Browser");
@@ -224,7 +224,7 @@ $recv($globals.Terminal)._registerIfNone_(self._new());
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.BrowserTerminal.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.BrowserTerminal.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -234,7 +234,7 @@ referencedClasses: ["Terminal"],
 //>>excludeEnd("ide");
 messageSends: ["ifTrue:", "isFeasible", "registerIfNone:", "new"]
 }),
-$globals.BrowserTerminal.klass);
+$globals.BrowserTerminal.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -248,7 +248,7 @@ return $core.withContext(function($ctx1) {
 return typeof window !== "undefined";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.BrowserTerminal.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.BrowserTerminal.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -258,7 +258,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.BrowserTerminal.klass);
+$globals.BrowserTerminal.a$cls);
 
 $core.addMethod(
 $core.method({

+ 8 - 8
src/Platform-DOM.js

@@ -22,7 +22,7 @@ return $core.withContext(function($ctx1) {
 		Object.prototype.toString.call(anObject) !== "[object Object]";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isDomNode:",{anObject:anObject},$globals.PlatformDom.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isDomNode:",{anObject:anObject},$globals.PlatformDom.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -32,7 +32,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.PlatformDom.klass);
+$globals.PlatformDom.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -57,7 +57,7 @@ return $core.withContext(function($ctx1) {
   };
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.PlatformDom.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.PlatformDom.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -67,7 +67,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.PlatformDom.klass);
+$globals.PlatformDom.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -81,7 +81,7 @@ return $core.withContext(function($ctx1) {
 return new CustomEvent(aString, {detail: anObject});
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"newCustomEvent:detail:",{aString:aString,anObject:anObject},$globals.PlatformDom.klass)});
+}, function($ctx1) {$ctx1.fill(self,"newCustomEvent:detail:",{aString:aString,anObject:anObject},$globals.PlatformDom.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -91,7 +91,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.PlatformDom.klass);
+$globals.PlatformDom.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -105,7 +105,7 @@ return $core.withContext(function($ctx1) {
 return Array.prototype.slice.call(aDomList);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"toArray:",{aDomList:aDomList},$globals.PlatformDom.klass)});
+}, function($ctx1) {$ctx1.fill(self,"toArray:",{aDomList:aDomList},$globals.PlatformDom.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -115,7 +115,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.PlatformDom.klass);
+$globals.PlatformDom.a$cls);
 
 $core.addMethod(
 $core.method({

+ 40 - 40
src/Platform-ImportExport.js

@@ -464,7 +464,7 @@ self._exportBehavior_on_(each,aStream);
 $ctx2.sendIdx["exportBehavior:on:"]=1;
 //>>excludeEnd("ctx");
 $1=$recv(each)._theMetaClass();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 var meta;
@@ -1107,7 +1107,7 @@ $3=$recv($recv(aClass)._name())._asJavaScriptSource();
 $ctx1.sendIdx["asJavaScriptSource"]=1;
 //>>excludeEnd("ctx");
 $5=$recv(aClass)._superclass();
-if(($receiver = $5) == null || $receiver.isNil){
+if(($receiver = $5) == null || $receiver.a$nil){
 $4="null";
 } else {
 var superclass;
@@ -1411,7 +1411,7 @@ self._exportBehavior_on_(each,aStream);
 $ctx2.sendIdx["exportBehavior:on:"]=1;
 //>>excludeEnd("ctx");
 $1=$recv(each)._theMetaClass();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return $1;
 } else {
 var meta;
@@ -2266,7 +2266,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._new())._stream_(aStream);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},$globals.ChunkParser.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aStream:aStream},$globals.ChunkParser.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2276,7 +2276,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["stream:", "new"]
 }),
-$globals.ChunkParser.klass);
+$globals.ChunkParser.a$cls);
 
 
 $core.addClass("ClassCommentReader", $globals.Object, ["class"], "Platform-ImportExport");
@@ -2683,7 +2683,7 @@ $recv($1)._name_(aString);
 $recv($1)._theClass_(aClass);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"name:theClass:",{aString:aString,aClass:aClass},$globals.ExportMethodProtocol.klass)});
+}, function($ctx1) {$ctx1.fill(self,"name:theClass:",{aString:aString,aClass:aClass},$globals.ExportMethodProtocol.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2693,7 +2693,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["name:", "new", "theClass:", "yourself"]
 }),
-$globals.ExportMethodProtocol.klass);
+$globals.ExportMethodProtocol.a$cls);
 
 
 $core.addClass("Importer", $globals.Object, ["lastSection", "lastChunk"], "Platform-ImportExport");
@@ -3386,7 +3386,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$3,$2,$receiver;
 $1=$recv($globals.Smalltalk)._amdRequire();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self._error_("AMD loader not present");
 } else {
 var require;
@@ -3446,7 +3446,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=$recv($globals.Smalltalk)._amdRequire();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return self._error_("AMD loader not present");
 } else {
 var require;
@@ -3478,7 +3478,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv($globals.Smalltalk)._defaultAmdNamespace();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"defaultNamespace",{},$globals.AmdPackageHandler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"defaultNamespace",{},$globals.AmdPackageHandler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3488,7 +3488,7 @@ referencedClasses: ["Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["defaultAmdNamespace"]
 }),
-$globals.AmdPackageHandler.klass);
+$globals.AmdPackageHandler.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3502,7 +3502,7 @@ return $core.withContext(function($ctx1) {
 $recv($globals.Smalltalk)._defaultAmdNamespace_(aString);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"defaultNamespace:",{aString:aString},$globals.AmdPackageHandler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"defaultNamespace:",{aString:aString},$globals.AmdPackageHandler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3512,7 +3512,7 @@ referencedClasses: ["Smalltalk"],
 //>>excludeEnd("ide");
 messageSends: ["defaultAmdNamespace:"]
 }),
-$globals.AmdPackageHandler.klass);
+$globals.AmdPackageHandler.a$cls);
 
 
 $core.addClass("PackageTransport", $globals.Object, ["package"], "Platform-ImportExport");
@@ -3758,7 +3758,7 @@ messageSends: ["type", "class"]
 $globals.PackageTransport);
 
 
-$globals.PackageTransport.klass.iVarNames = ["registry"];
+$globals.PackageTransport.a$cls.iVarNames = ["registry"];
 $core.addMethod(
 $core.method({
 selector: "classRegisteredFor:",
@@ -3770,7 +3770,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self["@registry"])._at_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"classRegisteredFor:",{aString:aString},$globals.PackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"classRegisteredFor:",{aString:aString},$globals.PackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3780,7 +3780,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["at:"]
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3793,7 +3793,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv($globals.AmdPackageTransport)._type();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"defaultType",{},$globals.PackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"defaultType",{},$globals.PackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3803,7 +3803,7 @@ referencedClasses: ["AmdPackageTransport"],
 //>>excludeEnd("ide");
 messageSends: ["type"]
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3816,7 +3816,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._classRegisteredFor_(aString))._new();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"for:",{aString:aString},$globals.PackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"for:",{aString:aString},$globals.PackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3826,7 +3826,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["new", "classRegisteredFor:"]
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3838,7 +3838,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
-if(($receiver = anObject) == null || $receiver.isNil){
+if(($receiver = anObject) == null || $receiver.a$nil){
 $1=self._for_(self._defaultType());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["for:"]=1;
@@ -3851,7 +3851,7 @@ $2=self._for_($recv(anObject)._type());
 $recv($2)._setupFromJson_(anObject);
 return $recv($2)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"fromJson:",{anObject:anObject},$globals.PackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"fromJson:",{anObject:anObject},$globals.PackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3861,7 +3861,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNil:", "for:", "defaultType", "setupFromJson:", "type", "yourself"]
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3877,7 +3877,7 @@ var $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.PackageTransport.klass.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), []));
+($globals.PackageTransport.a$cls.superclass||$boot.nilAsClass).fn.prototype._initialize.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
@@ -3890,7 +3890,7 @@ self._register();
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.PackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.PackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3900,7 +3900,7 @@ referencedClasses: ["PackageTransport"],
 //>>excludeEnd("ide");
 messageSends: ["initialize", "ifTrue:ifFalse:", "==", "register"]
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3914,7 +3914,7 @@ return $core.withContext(function($ctx1) {
 $recv($globals.PackageTransport)._register_(self);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"register",{},$globals.PackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"register",{},$globals.PackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3924,7 +3924,7 @@ referencedClasses: ["PackageTransport"],
 //>>excludeEnd("ide");
 messageSends: ["register:"]
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3940,14 +3940,14 @@ $1=$recv(aClass)._type();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["type"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $recv(self["@registry"])._at_put_($recv(aClass)._type(),aClass);
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"register:",{aClass:aClass},$globals.PackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"register:",{aClass:aClass},$globals.PackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -3957,7 +3957,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNotNil:", "type", "at:put:"]
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -3975,7 +3975,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.PackageTransport.klass);
+$globals.PackageTransport.a$cls);
 
 
 $core.addClass("AmdPackageTransport", $globals.PackageTransport, ["namespace"], "Platform-ImportExport");
@@ -4099,7 +4099,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@namespace"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return self._defaultNamespace();
 } else {
 return $1;
@@ -4239,7 +4239,7 @@ $1=self._new();
 $recv($1)._namespace_(aString);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"namespace:",{aString:aString},$globals.AmdPackageTransport.klass)});
+}, function($ctx1) {$ctx1.fill(self,"namespace:",{aString:aString},$globals.AmdPackageTransport.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4249,7 +4249,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["namespace:", "new", "yourself"]
 }),
-$globals.AmdPackageTransport.klass);
+$globals.AmdPackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4267,7 +4267,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.AmdPackageTransport.klass);
+$globals.AmdPackageTransport.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4401,7 +4401,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._named_(aPackageName))._load();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"load:",{aPackageName:aPackageName},$globals.Package.klass)});
+}, function($ctx1) {$ctx1.fill(self,"load:",{aPackageName:aPackageName},$globals.Package.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4411,7 +4411,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["load", "named:"]
 }),
-$globals.Package.klass);
+$globals.Package.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -4425,7 +4425,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._named_(aPackageName))._loadFromNamespace_(aString);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"load:fromNamespace:",{aPackageName:aPackageName,aString:aString},$globals.Package.klass)});
+}, function($ctx1) {$ctx1.fill(self,"load:fromNamespace:",{aPackageName:aPackageName,aString:aString},$globals.Package.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -4435,7 +4435,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["loadFromNamespace:", "named:"]
 }),
-$globals.Package.klass);
+$globals.Package.a$cls);
 
 $core.addMethod(
 $core.method({

+ 5 - 5
src/Platform-Node.js

@@ -38,7 +38,7 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $receiver;
-if(($receiver = $globals.XMLHttpRequest) == null || $receiver.isNil){
+if(($receiver = $globals.XMLHttpRequest) == null || $receiver.a$nil){
 self._error_("XMLHttpRequest not available.");
 } else {
 return $recv($globals.XMLHttpRequest)._new();
@@ -74,7 +74,7 @@ $recv($globals.Platform)._registerIfNone_(self._new());
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.NodePlatform.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.NodePlatform.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -84,7 +84,7 @@ referencedClasses: ["Platform"],
 //>>excludeEnd("ide");
 messageSends: ["ifTrue:", "isFeasible", "registerIfNone:", "new"]
 }),
-$globals.NodePlatform.klass);
+$globals.NodePlatform.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -98,7 +98,7 @@ return $core.withContext(function($ctx1) {
 return typeof global !== "undefined";
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.NodePlatform.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.NodePlatform.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -108,6 +108,6 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.NodePlatform.klass);
+$globals.NodePlatform.a$cls);
 
 });

+ 62 - 62
src/Platform-Services.js

@@ -24,7 +24,7 @@ $1=$recv(anError)._context();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["context"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 self._logErrorContext_($recv(anError)._context());
@@ -82,7 +82,7 @@ $1=$recv(aContext)._home();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["home"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 self._logContext_($recv(aContext)._home());
@@ -136,14 +136,14 @@ var self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
-if(($receiver = aContext) == null || $receiver.isNil){
+if(($receiver = aContext) == null || $receiver.a$nil){
 aContext;
 } else {
 $1=$recv(aContext)._home();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["home"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 self._logContext_($recv(aContext)._home());
@@ -164,7 +164,7 @@ messageSends: ["ifNotNil:", "home", "logContext:"]
 $globals.ConsoleErrorHandler);
 
 
-$globals.ConsoleErrorHandler.klass.iVarNames = ["current"];
+$globals.ConsoleErrorHandler.a$cls.iVarNames = ["current"];
 $core.addMethod(
 $core.method({
 selector: "initialize",
@@ -177,7 +177,7 @@ return $core.withContext(function($ctx1) {
 $recv($globals.ErrorHandler)._registerIfNone_(self._new());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ConsoleErrorHandler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ConsoleErrorHandler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -187,7 +187,7 @@ referencedClasses: ["ErrorHandler"],
 //>>excludeEnd("ide");
 messageSends: ["registerIfNone:", "new"]
 }),
-$globals.ConsoleErrorHandler.klass);
+$globals.ConsoleErrorHandler.a$cls);
 
 
 $core.addClass("ConsoleTranscript", $globals.Object, ["textarea"], "Platform-Services");
@@ -285,7 +285,7 @@ return $core.withContext(function($ctx1) {
 $recv($globals.Transcript)._registerIfNone_(self._new());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ConsoleTranscript.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ConsoleTranscript.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -295,7 +295,7 @@ referencedClasses: ["Transcript"],
 //>>excludeEnd("ide");
 messageSends: ["registerIfNone:", "new"]
 }),
-$globals.ConsoleTranscript.klass);
+$globals.ConsoleTranscript.a$cls);
 
 
 $core.addClass("Environment", $globals.Object, [], "Platform-Services");
@@ -437,7 +437,7 @@ $1=$recv(aClass)._superclass();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.sendIdx["superclass"]=1;
 //>>excludeEnd("ctx");
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $recv(protocols)._addAll_(self._availableProtocolsFor_($recv(aClass)._superclass()));
@@ -490,7 +490,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=$recv($recv($globals.Smalltalk)._globals())._at_($recv(aString)._asSymbol());
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 return self._error_("Invalid class name");
 } else {
 return $1;
@@ -653,7 +653,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
 $1=$recv($recv($globals.Smalltalk)._globals())._at_(aClassName);
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $2=$recv("A class named ".__comma(aClassName)).__comma(" already exists");
@@ -798,7 +798,7 @@ return $core.withContext(function($ctx1) {
 var $1,$2,$receiver;
 package_=$recv($globals.Package)._named_(aPackageName);
 $1=package_;
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self._error_("Invalid package name");
 } else {
 $1;
@@ -1128,7 +1128,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
 $1=$recv($recv($globals.Smalltalk)._globals())._at_(aClassName);
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $2=$recv("A class named ".__comma(aClassName)).__comma(" already exists");
@@ -1163,7 +1163,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$2,$receiver;
 $1=$recv($recv($globals.Smalltalk)._globals())._at_(aNewPackageName);
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $2=$recv("A package named ".__comma(aNewPackageName)).__comma(" already exists");
@@ -1297,7 +1297,7 @@ messageSends: ["do:"]
 $globals.NullProgressHandler);
 
 
-$globals.NullProgressHandler.klass.iVarNames = ["current"];
+$globals.NullProgressHandler.a$cls.iVarNames = ["current"];
 $core.addMethod(
 $core.method({
 selector: "initialize",
@@ -1310,7 +1310,7 @@ return $core.withContext(function($ctx1) {
 $recv($globals.ProgressHandler)._registerIfNone_(self._new());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.NullProgressHandler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.NullProgressHandler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1320,7 +1320,7 @@ referencedClasses: ["ProgressHandler"],
 //>>excludeEnd("ide");
 messageSends: ["registerIfNone:", "new"]
 }),
-$globals.NullProgressHandler.klass);
+$globals.NullProgressHandler.a$cls);
 
 
 $core.addClass("Service", $globals.Object, [], "Platform-Services");
@@ -1328,7 +1328,7 @@ $core.addClass("Service", $globals.Object, [], "Platform-Services");
 $globals.Service.comment="I implement the basic behavior for class registration to a service.\x0a\x0aSee the `Transcript` class for a concrete service.\x0a\x0a## API\x0a\x0aUse class-side methods `#register:` and `#registerIfNone:` to register classes to a specific service.";
 //>>excludeEnd("ide");
 
-$globals.Service.klass.iVarNames = ["current"];
+$globals.Service.a$cls.iVarNames = ["current"];
 $core.addMethod(
 $core.method({
 selector: "current",
@@ -1345,7 +1345,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Service.klass);
+$globals.Service.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1359,7 +1359,7 @@ return $core.withContext(function($ctx1) {
 self._shouldNotImplement();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.Service.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.Service.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1369,7 +1369,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["shouldNotImplement"]
 }),
-$globals.Service.klass);
+$globals.Service.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1388,7 +1388,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.Service.klass);
+$globals.Service.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1401,14 +1401,14 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self._current();
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 self._register_(anObject);
 } else {
 $1;
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"registerIfNone:",{anObject:anObject},$globals.Service.klass)});
+}, function($ctx1) {$ctx1.fill(self,"registerIfNone:",{anObject:anObject},$globals.Service.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1418,7 +1418,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifNil:", "current", "register:"]
 }),
-$globals.Service.klass);
+$globals.Service.a$cls);
 
 
 $core.addClass("ErrorHandler", $globals.Service, [], "Platform-Services");
@@ -1438,7 +1438,7 @@ return $core.withContext(function($ctx1) {
 self._handleUnhandledError_(anError);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},$globals.ErrorHandler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError},$globals.ErrorHandler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1448,7 +1448,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["handleUnhandledError:"]
 }),
-$globals.ErrorHandler.klass);
+$globals.ErrorHandler.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1466,7 +1466,7 @@ return self;
 }
 return $recv(self._current())._handleError_(anError);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"handleUnhandledError:",{anError:anError},$globals.ErrorHandler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"handleUnhandledError:",{anError:anError},$globals.ErrorHandler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1476,7 +1476,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["ifTrue:", "wasHandled", "handleError:", "current"]
 }),
-$globals.ErrorHandler.klass);
+$globals.ErrorHandler.a$cls);
 
 
 $core.addClass("Finder", $globals.Service, [], "Platform-Services");
@@ -1495,7 +1495,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._findClass_(aClass);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"findClass:",{aClass:aClass},$globals.Finder.klass)});
+}, function($ctx1) {$ctx1.fill(self,"findClass:",{aClass:aClass},$globals.Finder.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1505,7 +1505,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["findClass:", "current"]
 }),
-$globals.Finder.klass);
+$globals.Finder.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1518,7 +1518,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._findMethod_(aCompiledMethod);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"findMethod:",{aCompiledMethod:aCompiledMethod},$globals.Finder.klass)});
+}, function($ctx1) {$ctx1.fill(self,"findMethod:",{aCompiledMethod:aCompiledMethod},$globals.Finder.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1528,7 +1528,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["findMethod:", "current"]
 }),
-$globals.Finder.klass);
+$globals.Finder.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1541,7 +1541,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._findString_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"findString:",{aString:aString},$globals.Finder.klass)});
+}, function($ctx1) {$ctx1.fill(self,"findString:",{aString:aString},$globals.Finder.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1551,7 +1551,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["findString:", "current"]
 }),
-$globals.Finder.klass);
+$globals.Finder.a$cls);
 
 
 $core.addClass("Inspector", $globals.Service, [], "Platform-Services");
@@ -1570,7 +1570,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._inspect_(anObject);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},$globals.Inspector.klass)});
+}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},$globals.Inspector.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1580,7 +1580,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["inspect:", "current"]
 }),
-$globals.Inspector.klass);
+$globals.Inspector.a$cls);
 
 
 $core.addClass("Platform", $globals.Service, [], "Platform-Services");
@@ -1599,7 +1599,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._globals();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"globals",{},$globals.Platform.klass)});
+}, function($ctx1) {$ctx1.fill(self,"globals",{},$globals.Platform.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1609,7 +1609,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["globals", "current"]
 }),
-$globals.Platform.klass);
+$globals.Platform.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1622,7 +1622,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._newXhr();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"newXhr",{},$globals.Platform.klass)});
+}, function($ctx1) {$ctx1.fill(self,"newXhr",{},$globals.Platform.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1632,7 +1632,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["newXhr", "current"]
 }),
-$globals.Platform.klass);
+$globals.Platform.a$cls);
 
 
 $core.addClass("ProgressHandler", $globals.Service, [], "Platform-Services");
@@ -1652,7 +1652,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._current())._do_on_displaying_(aBlock,aCollection,aString);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"do:on:displaying:",{aBlock:aBlock,aCollection:aCollection,aString:aString},$globals.ProgressHandler.klass)});
+}, function($ctx1) {$ctx1.fill(self,"do:on:displaying:",{aBlock:aBlock,aCollection:aCollection,aString:aString},$globals.ProgressHandler.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1662,7 +1662,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["do:on:displaying:", "current"]
 }),
-$globals.ProgressHandler.klass);
+$globals.ProgressHandler.a$cls);
 
 
 $core.addClass("Terminal", $globals.Service, [], "Platform-Services");
@@ -1681,7 +1681,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._alert_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"alert:",{aString:aString},$globals.Terminal.klass)});
+}, function($ctx1) {$ctx1.fill(self,"alert:",{aString:aString},$globals.Terminal.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1691,7 +1691,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["alert:", "current"]
 }),
-$globals.Terminal.klass);
+$globals.Terminal.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1704,7 +1704,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._confirm_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"confirm:",{aString:aString},$globals.Terminal.klass)});
+}, function($ctx1) {$ctx1.fill(self,"confirm:",{aString:aString},$globals.Terminal.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1714,7 +1714,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["confirm:", "current"]
 }),
-$globals.Terminal.klass);
+$globals.Terminal.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1727,7 +1727,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._prompt_(aString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"prompt:",{aString:aString},$globals.Terminal.klass)});
+}, function($ctx1) {$ctx1.fill(self,"prompt:",{aString:aString},$globals.Terminal.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1737,7 +1737,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["prompt:", "current"]
 }),
-$globals.Terminal.klass);
+$globals.Terminal.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1750,7 +1750,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._current())._prompt_default_(aString,defaultString);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"prompt:default:",{aString:aString,defaultString:defaultString},$globals.Terminal.klass)});
+}, function($ctx1) {$ctx1.fill(self,"prompt:default:",{aString:aString,defaultString:defaultString},$globals.Terminal.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1760,7 +1760,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["prompt:default:", "current"]
 }),
-$globals.Terminal.klass);
+$globals.Terminal.a$cls);
 
 
 $core.addClass("Transcript", $globals.Service, [], "Platform-Services");
@@ -1780,7 +1780,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._current())._clear();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"clear",{},$globals.Transcript.klass)});
+}, function($ctx1) {$ctx1.fill(self,"clear",{},$globals.Transcript.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1790,7 +1790,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["clear", "current"]
 }),
-$globals.Transcript.klass);
+$globals.Transcript.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1804,7 +1804,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._current())._show_($recv($globals.String)._cr());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"cr",{},$globals.Transcript.klass)});
+}, function($ctx1) {$ctx1.fill(self,"cr",{},$globals.Transcript.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1814,7 +1814,7 @@ referencedClasses: ["String"],
 //>>excludeEnd("ide");
 messageSends: ["show:", "current", "cr"]
 }),
-$globals.Transcript.klass);
+$globals.Transcript.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1828,7 +1828,7 @@ return $core.withContext(function($ctx1) {
 self._show_(anObject);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},$globals.Transcript.klass)});
+}, function($ctx1) {$ctx1.fill(self,"inspect:",{anObject:anObject},$globals.Transcript.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1838,7 +1838,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["show:"]
 }),
-$globals.Transcript.klass);
+$globals.Transcript.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1852,7 +1852,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._current())._open();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"open",{},$globals.Transcript.klass)});
+}, function($ctx1) {$ctx1.fill(self,"open",{},$globals.Transcript.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1862,7 +1862,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["open", "current"]
 }),
-$globals.Transcript.klass);
+$globals.Transcript.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1876,7 +1876,7 @@ return $core.withContext(function($ctx1) {
 $recv(self._current())._show_(anObject);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},$globals.Transcript.klass)});
+}, function($ctx1) {$ctx1.fill(self,"show:",{anObject:anObject},$globals.Transcript.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1886,7 +1886,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["show:", "current"]
 }),
-$globals.Transcript.klass);
+$globals.Transcript.a$cls);
 
 $core.addMethod(
 $core.method({

+ 27 - 27
src/SUnit.js

@@ -554,7 +554,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $1,$receiver;
 $1=self["@asyncTimeout"];
-if(($receiver = $1) == null || $receiver.isNil){
+if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
 $recv(self["@asyncTimeout"])._clearTimeout();
@@ -602,7 +602,7 @@ $recv(selectors)._addAll_($recv(self._superclass())._allTestSelectors());
 }
 return selectors;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"allTestSelectors",{selectors:selectors},$globals.TestCase.klass)});
+}, function($ctx1) {$ctx1.fill(self,"allTestSelectors",{selectors:selectors},$globals.TestCase.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -612,7 +612,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["testSelectors", "ifTrue:", "shouldInheritSelectors", "addAll:", "allTestSelectors", "superclass"]
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -633,7 +633,7 @@ return self._selector_(each);
 //>>excludeEnd("ctx");
 }));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"buildSuite",{},$globals.TestCase.klass)});
+}, function($ctx1) {$ctx1.fill(self,"buildSuite",{},$globals.TestCase.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -643,7 +643,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["collect:", "allTestSelectors", "selector:"]
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -661,7 +661,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -674,7 +674,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._name()).__eq("TestCase");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isAbstract",{},$globals.TestCase.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isAbstract",{},$globals.TestCase.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -684,7 +684,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["=", "name"]
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -697,7 +697,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return $recv(self._isAbstract())._not();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"isTestClass",{},$globals.TestCase.klass)});
+}, function($ctx1) {$ctx1.fill(self,"isTestClass",{},$globals.TestCase.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -707,7 +707,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["not", "isAbstract"]
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -725,7 +725,7 @@ referencedClasses: ["TestCase"],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -741,7 +741,7 @@ $1=self._new();
 $recv($1)._setTestSelector_(aSelector);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"selector:",{aSelector:aSelector},$globals.TestCase.klass)});
+}, function($ctx1) {$ctx1.fill(self,"selector:",{aSelector:aSelector},$globals.TestCase.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -751,7 +751,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["setTestSelector:", "new", "yourself"]
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -764,7 +764,7 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 return self.__tild_eq(self._lookupHierarchyRoot());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},$globals.TestCase.klass)});
+}, function($ctx1) {$ctx1.fill(self,"shouldInheritSelectors",{},$globals.TestCase.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -774,7 +774,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["~=", "lookupHierarchyRoot"]
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -795,7 +795,7 @@ return $recv(each)._match_("^test");
 //>>excludeEnd("ctx");
 }));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"testSelectors",{},$globals.TestCase.klass)});
+}, function($ctx1) {$ctx1.fill(self,"testSelectors",{},$globals.TestCase.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -805,7 +805,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["select:", "keys", "methodDictionary", "match:"]
 }),
-$globals.TestCase.klass);
+$globals.TestCase.a$cls);
 
 
 $core.addClass("TestContext", $globals.Object, ["testCase"], "SUnit");
@@ -948,7 +948,7 @@ $1=self._new();
 $recv($1)._testCase_(aTestCase);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase},$globals.TestContext.klass)});
+}, function($ctx1) {$ctx1.fill(self,"testCase:",{aTestCase:aTestCase},$globals.TestContext.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -958,7 +958,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["testCase:", "new", "yourself"]
 }),
-$globals.TestContext.klass);
+$globals.TestContext.a$cls);
 
 
 $core.addClass("ReportingTestContext", $globals.TestContext, ["finished", "result"], "SUnit");
@@ -1129,7 +1129,7 @@ $1=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.ReportingTestContext.klass.superclass||$boot.nilAsClass).fn.prototype._testCase_.apply($recv(self), [aTestCase]));
+($globals.ReportingTestContext.a$cls.superclass||$boot.nilAsClass).fn.prototype._testCase_.apply($recv(self), [aTestCase]));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
@@ -1137,7 +1137,7 @@ $recv($1)._result_(aTestResult);
 $recv($1)._finished_(aBlock);
 return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"testCase:result:finished:",{aTestCase:aTestCase,aTestResult:aTestResult,aBlock:aBlock},$globals.ReportingTestContext.klass)});
+}, function($ctx1) {$ctx1.fill(self,"testCase:result:finished:",{aTestCase:aTestCase,aTestResult:aTestResult,aBlock:aBlock},$globals.ReportingTestContext.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1147,7 +1147,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["result:", "testCase:", "finished:", "yourself"]
 }),
-$globals.ReportingTestContext.klass);
+$globals.ReportingTestContext.a$cls);
 
 
 $core.addClass("TestFailure", $globals.Error, [], "SUnit");
@@ -1723,7 +1723,7 @@ return $core.withContext(function($ctx1) {
 self._shouldNotImplement();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.TestSuiteRunner.klass)});
+}, function($ctx1) {$ctx1.fill(self,"new",{},$globals.TestSuiteRunner.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1733,7 +1733,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["shouldNotImplement"]
 }),
-$globals.TestSuiteRunner.klass);
+$globals.TestSuiteRunner.a$cls);
 
 $core.addMethod(
 $core.method({
@@ -1749,13 +1749,13 @@ $1=(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
-($globals.TestSuiteRunner.klass.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
+($globals.TestSuiteRunner.a$cls.superclass||$boot.nilAsClass).fn.prototype._new.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
 return $recv($1)._suite_(aCollection);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},$globals.TestSuiteRunner.klass)});
+}, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection},$globals.TestSuiteRunner.a$cls)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -1765,7 +1765,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["suite:", "new"]
 }),
-$globals.TestSuiteRunner.klass);
+$globals.TestSuiteRunner.a$cls);
 
 $core.addMethod(
 $core.method({

+ 18 - 10
support/kernel-language.js

@@ -155,7 +155,7 @@ define(['./compatibility'], function () {
 
         // Fake root class of the system.
         // Effective superclass of all classes created with `nil subclass: ...`.
-        var nilAsClass = this.nilAsClass = {fn: SmalltalkRoot, klass: {fn: SmalltalkClass}};
+        var nilAsClass = this.nilAsClass = {fn: SmalltalkRoot, a$cls: {fn: SmalltalkClass}, klass: {fn: SmalltalkClass}};
 
         SmalltalkMetaclass.prototype.meta = true;
 
@@ -182,10 +182,10 @@ define(['./compatibility'], function () {
 
         this.bootstrapHierarchy = function () {
             var nilSubclasses = [globals.ProtoObject];
-            nilAsClass.klass = globals.Class;
+            nilAsClass.a$cls = nilAsClass.klass = globals.Class;
             nilSubclasses.forEach(function (each) {
-                each.klass.superclass = globals.Class;
-                addSubclass(each.klass);
+                each.a$cls.superclass = globals.Class;
+                addSubclass(each.a$cls);
             });
         };
 
@@ -196,7 +196,7 @@ define(['./compatibility'], function () {
 
         function classBuilder (className, superclass, iVarNames, fn) {
             var logicalSuperclass = superclass;
-            if (superclass == null || superclass.isNil) {
+            if (superclass == null || superclass.a$nil) {
                 superclass = nilAsClass;
                 logicalSuperclass = null;
             }
@@ -220,7 +220,7 @@ define(['./compatibility'], function () {
             function metaclass () {
                 var that = new SmalltalkMetaclass();
 
-                that.superclass = superclass.klass;
+                that.superclass = superclass.a$cls;
                 that.fn = inherits(function () {
                 }, that.superclass.fn);
                 that.iVarNames = [];
@@ -245,6 +245,10 @@ define(['./compatibility'], function () {
         }
 
         function wireKlass (klass) {
+            Object.defineProperty(klass.fn.prototype, "a$cls", {
+                value: klass,
+                enumerable: false, configurable: true, writable: true
+            });
             Object.defineProperty(klass.fn.prototype, "klass", {
                 value: klass,
                 enumerable: false, configurable: true, writable: true
@@ -259,7 +263,7 @@ define(['./compatibility'], function () {
         st.addClass = function (className, superclass, iVarNames, pkgName) {
             // While subclassing nil is allowed, it might be an error, so
             // warn about it.
-            if (typeof superclass == 'undefined' || superclass && superclass.isNil) {
+            if (typeof superclass == 'undefined' || superclass && superclass.a$nil) {
                 console.warn('Compiling ' + className + ' as a subclass of `nil`. A dependency might be missing.');
             }
             return buildBehaviorBody(pkgName, classBuilder(className, superclass, iVarNames, coreFns[className]));
@@ -285,7 +289,7 @@ define(['./compatibility'], function () {
                     return !each.meta;
                 })
                 .map(function (each) {
-                    return each.klass;
+                    return each.a$cls;
                 });
         }
 
@@ -314,11 +318,15 @@ define(['./compatibility'], function () {
 
         this.nilAsReceiver = new SmalltalkNil();
 
-        // Adds an `isNil` property to the `nil` object.  When sending
+        // Adds an `a$nil` (and legacy `isNil`) property to the `nil` object.  When sending
         // nil objects from one environment to another, doing
         // `anObject == nil` (in JavaScript) does not always answer
         // true as the referenced nil object might come from the other
         // environment.
+        Object.defineProperty(this.nilAsReceiver, 'a$nil', {
+            value: true,
+            enumerable: false, configurable: false, writable: false
+        });
         Object.defineProperty(this.nilAsReceiver, 'isNil', {
             value: true,
             enumerable: false, configurable: false, writable: false
@@ -342,7 +350,7 @@ define(['./compatibility'], function () {
          */
         this.asReceiver = function (o) {
             if (o == null) return nilAsReceiver;
-            else if (o.klass != null) return o;
+            else if (o.a$cls != null) return o;
             else return st.wrapJavaScript(o);
         };
     }

+ 20 - 43
support/kernel-runtime.js

@@ -85,8 +85,8 @@ define(function () {
 
         function initClassAndMetaclass (klass) {
             initClass(klass);
-            if (klass.klass && !klass.meta) {
-                initClass(klass.klass);
+            if (klass.a$cls && !klass.meta) {
+                initClass(klass.a$cls);
             }
         }
 
@@ -298,7 +298,7 @@ define(function () {
         });
         defineMethod(SmalltalkMethodContext, "method", function () {
             var method;
-            var lookup = this.lookupClass || this.receiver.klass;
+            var lookup = this.lookupClass || this.receiver.a$cls;
             while (!method && lookup) {
                 method = lookup.methods[st.js2st(this.selector)];
                 lookup = lookup.superclass;
@@ -425,67 +425,44 @@ define(function () {
 
         /* Send message programmatically. Used to implement #perform: & Co. */
 
-        st.send2 = function (receiver, selector, args, klass) {
-            var method, jsSelector = st.st2js(selector);
-            if (receiver == null) {
-                receiver = nilAsReceiver;
+        st.send2 = function (self, selector, args, klass) {
+            if (self == null) {
+                self = nilAsReceiver;
             }
-            method = klass ? klass.fn.prototype[jsSelector] : receiver.klass && receiver[jsSelector];
+            var method = klass ? klass.fn.prototype[st.st2js(selector)] : self.a$cls && self[st.st2js(selector)];
             if (method) {
-                return method.apply(receiver, args || []);
+                return method.apply(self, args || []);
             } else {
-                return messageNotUnderstood(receiver, selector, args);
+                return messageNotUnderstood(self.a$cls ? self : wrapJavaScript(self), selector, args);
             }
         };
 
-        function invokeDnuMethod (receiver, stSelector, args) {
-            return receiver._doesNotUnderstand_(
-                globals.Message._new()
-                    ._selector_(stSelector)
-                    ._arguments_([].slice.call(args))
-            );
-        }
-
         function wrapJavaScript (o) {
             return globals.JSObjectProxy._on_(o);
         }
 
         st.wrapJavaScript = wrapJavaScript;
 
-        /* Handles #dnu: *and* JavaScript method calls.
-         if the receiver has no klass, we consider it a JS object (outside of the
-         Amber system). Else assume that the receiver understands #doesNotUnderstand: */
+        /* Handles #dnu:. Calls #doesNotUnderstand:. */
         function messageNotUnderstood (receiver, stSelector, args) {
-            if (receiver.klass != null && !receiver.allowJavaScriptCalls) {
-                return invokeDnuMethod(receiver, stSelector, args);
-            }
-            /* Call a method of a JS object, or answer a property if it exists.
-
-             Converts keyword-based selectors by using the first
-             keyword only, but keeping all message arguments.
-
-             Example:
-             "self do: aBlock with: anObject" -> "self.do(aBlock, anObject)"
-
-             Else try wrapping a JSObjectProxy around the receiver. */
-            var propertyName = st.st2prop(stSelector);
-            if (!(propertyName in receiver)) {
-                return invokeDnuMethod(wrapJavaScript(receiver), stSelector, args);
-            }
-            return accessJavaScript(receiver, propertyName, args);
+            return receiver._doesNotUnderstand_(
+                globals.Message._new()
+                    ._selector_(stSelector)
+                    ._arguments_([].slice.call(args))
+            );
         }
 
         /* If the object property is a function, then call it, except if it starts with
          an uppercase character (we probably want to answer the function itself in this
          case and send it #new from Amber).
          */
-        function accessJavaScript (receiver, propertyName, args) {
-            var propertyValue = receiver[propertyName];
+        function accessJavaScript (self, propertyName, args) {
+            var propertyValue = self[propertyName];
             if (typeof propertyValue === "function" && !/^[A-Z]/.test(propertyName)) {
-                return propertyValue.apply(receiver, args || []);
+                return propertyValue.apply(self, args || []);
             } else if (args.length > 0) {
-                receiver[propertyName] = args[0];
-                return receiver;
+                self[propertyName] = args[0];
+                return self;
             } else {
                 return propertyValue;
             }

+ 0 - 6
support/parser.js

@@ -3003,9 +3003,6 @@ $globals.SmalltalkParser = (function() {
         }
         if (s2 !== peg$FAILED) {
           s3 = peg$parsewsSequenceWs();
-          if (s3 === peg$FAILED) {
-            s3 = null;
-          }
           if (s3 !== peg$FAILED) {
             if (input.charCodeAt(peg$currPos) === 93) {
               s4 = peg$c100;
@@ -3740,9 +3737,6 @@ $globals.SmalltalkParser = (function() {
       }
       if (s1 !== peg$FAILED) {
         s2 = peg$parsewsSequenceWs();
-        if (s2 === peg$FAILED) {
-          s2 = null;
-        }
         if (s2 !== peg$FAILED) {
           peg$savedPos = s0;
           s1 = peg$c127(s1, s2);

+ 2 - 2
support/parser.pegjs

@@ -200,7 +200,7 @@ wsStSequenceWs = ws temps:temps? statements:wsStatementsWs? {
 
 jsSequence = jsStatement
 
-block = '[' params:wsBlockParamList? sequence:wsSequenceWs? ']' {
+block = '[' params:wsBlockParamList? sequence:wsSequenceWs ']' {
 	return $globals.BlockNode._new()
 		._location_(location())
 		._source_(text())
@@ -283,7 +283,7 @@ pragmaJsStatement = '<' ws 'inlineJS:' ws val:rawString ws '>' {
 
 method =
 	pattern:(wsKeywordPattern / wsBinaryPattern / wsUnaryPattern)
-	sequence:wsSequenceWs? {
+	sequence:wsSequenceWs {
 		return $globals.MethodNode._new()
 			._location_(location())
 			._source_(text())