Browse Source

Compiler: less aliasing.

Now that super- and send-index-
augmenting is expression,
no need to alias those types of sends.

As only those were detected
in SendNode >> shouldBeAliased,
no need for that as all.
Herby Vojčík 4 years ago
parent
commit
30ff55811d

+ 124 - 205
cli/src/AmberCli.js

@@ -105,13 +105,11 @@ var selector;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv(args)._first()
+selector=$self._selectorForCommandLineSwitch_([$recv(args)._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=1
 //>>excludeEnd("ctx");
-][0];
-selector=$self._selectorForCommandLineSwitch_($1);
+][0]);
 $recv(args)._remove_($recv(args)._first());
 $self._perform_withArguments_(selector,[args]);
 return self;
@@ -195,42 +193,34 @@ var args,packageJSON;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $7,$6,$5,$4,$3,$2,$1;
 var $early={};
 try {
 packageJSON=$recv(require)._value_("../package.json");
-$7=[$recv(packageJSON)._version()
+$recv($globals.Transcript)._show_([$recv([$recv([$recv([$recv([$recv("Welcome to Amber CLI version ".__comma([$recv(packageJSON)._version()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["version"]=1
 //>>excludeEnd("ctx");
-][0];
-$6="Welcome to Amber CLI version ".__comma($7);
-$5=[$recv($6).__comma(" (Amber ")
+][0])).__comma(" (Amber ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=5
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5).__comma($recv($globals.Smalltalk)._version())
+][0]).__comma($recv($globals.Smalltalk)._version())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=4
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__comma(", NodeJS ")
+][0]).__comma(", NodeJS ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma($recv($recv(process)._versions())._node())
+][0]).__comma($recv($recv(process)._versions())._node())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__comma(").")
+][0]).__comma(").")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($globals.Transcript)._show_($1);
+][0]);
 args=$recv(process)._argv();
 $recv(args)._removeFrom_to_((1),(2));
 $recv(args)._ifEmpty_ifNotEmpty_((function(){
@@ -798,7 +788,7 @@ var file,stream;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
+var $1,$2;
 $1=$self._isAuthenticated_(aRequest);
 if(!$core.assert($1)){
 $self._respondAuthenticationRequiredTo_(aResponse);
@@ -814,13 +804,11 @@ stream=$recv($self.fs)._createWriteStream_(file);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=console;
-$3=["Error creating WriteStream for file ".__comma(file)
+[$recv(console)._warn_(["Error creating WriteStream for file ".__comma(file)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-[$recv($2)._warn_($3)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["warn:"]=1
 //>>excludeEnd("ctx");
@@ -871,8 +859,8 @@ $recv(aRequest)._on_do_("end",(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=$recv(stream)._writable();
-if($core.assert($4)){
+$2=$recv(stream)._writable();
+if($core.assert($2)){
 return $recv(stream)._end();
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -902,13 +890,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3,$5;
-$2=[$recv(aRequest)._method()
+var $1,$2,$3;
+$1=[$recv([$recv(aRequest)._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["method"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__eq("PUT")
+][0]).__eq("PUT")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
@@ -916,21 +903,20 @@ $1=[$recv($2).__eq("PUT")
 if($core.assert($1)){
 $self._handlePUTRequest_respondTo_(aRequest,aResponse);
 }
-$4=[$recv(aRequest)._method()
+$2=[$recv([$recv(aRequest)._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["method"]=2
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__eq("GET")
+][0]).__eq("GET")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=2
 //>>excludeEnd("ctx");
 ][0];
-if($core.assert($3)){
+if($core.assert($2)){
 $self._handleGETRequest_respondTo_(aRequest,aResponse);
 }
-$5=$recv($recv(aRequest)._method()).__eq("OPTIONS");
-if($core.assert($5)){
+$3=$recv($recv(aRequest)._method()).__eq("OPTIONS");
+if($core.assert($3)){
 $self._handleOPTIONSRequest_respondTo_(aRequest,aResponse);
 }
 return self;
@@ -993,7 +979,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -1014,12 +999,11 @@ $self.util=[$self._require_("util")
 //>>excludeEnd("ctx");
 ][0];
 $self.url=$self._require_("url");
-$1=[$self._class()
+$self.host=$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$self.host=$recv($1)._defaultHost();
+][0])._defaultHost();
 $self.port=$recv($self._class())._defaultPort();
 $self.username=nil;
 $self.password=nil;
@@ -1048,15 +1032,14 @@ var header,token,auth,parts;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3,$4,$5,$8,$9,$7,$6,$receiver;
+var $1,$2,$3,$4,$receiver;
 var $early={};
 try {
-$2=[$recv($self.username)._isNil()
+$1=[$recv([$recv($self.username)._isNil()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["isNil"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1072,15 +1055,15 @@ return $recv($self.password)._isNil();
 if($core.assert($1)){
 return true;
 }
-$3=[$recv($recv(aRequest)._headers())._at_("authorization")
+$2=[$recv($recv(aRequest)._headers())._at_("authorization")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["at:"]=1
 //>>excludeEnd("ctx");
 ][0];
-if(($receiver = $3) == null || $receiver.a$nil){
+if(($receiver = $2) == null || $receiver.a$nil){
 header="";
 } else {
-header=$3;
+header=$2;
 }
 $recv(header)._ifEmpty_ifNotEmpty_((function(){
 throw $early=[false];
@@ -1089,35 +1072,31 @@ throw $early=[false];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=[$recv(header)._tokenize_(" ")
+$3=[$recv(header)._tokenize_(" ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["tokenize:"]=1
 //>>excludeEnd("ctx");
 ][0];
-if(($receiver = $4) == null || $receiver.a$nil){
+if(($receiver = $3) == null || $receiver.a$nil){
 token="";
 } else {
-token=$4;
+token=$3;
 }
-$5=[$recv(token)._at_((2))
+auth=$self._base64Decode_([$recv(token)._at_((2))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["at:"]=2
 //>>excludeEnd("ctx");
-][0];
-auth=$self._base64Decode_($5);
+][0]);
 parts=$recv(auth)._tokenize_(":");
-$8=$self.username;
-$9=[$recv(parts)._at_((1))
+$4=$recv([$recv($self.username).__eq([$recv(parts)._at_((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["at:"]=3
 //>>excludeEnd("ctx");
-][0];
-$7=[$recv($8).__eq($9)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-$6=$recv($7)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -1126,7 +1105,7 @@ return $recv($self.password).__eq($recv(parts)._at_((2)));
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,7)});
 //>>excludeEnd("ctx");
 }));
-if($core.assert($6)){
+if($core.assert($4)){
 throw $early=[true];
 } else {
 throw $early=[false];
@@ -1290,34 +1269,32 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3,$5,$7,$6,$4,$receiver;
-$2=[$recv(aUrl)._pathname()
+var $1,$3,$5,$4,$2,$receiver;
+$1=$recv([$recv(aUrl)._pathname()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["pathname"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._endsWith_("/");
+][0])._endsWith_("/");
 if($core.assert($1)){
-$3=[$recv(aDirname).__comma("index.html")
+$self._respondFileNamed_to_([$recv(aDirname).__comma("index.html")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$self._respondFileNamed_to_($3,aResponse);
+][0],aResponse);
 } else {
-$5=$recv($recv(aUrl)._pathname()).__comma("/");
-$7=$recv(aUrl)._search();
-if(($receiver = $7) == null || $receiver.a$nil){
-$6="";
+$3=$recv($recv(aUrl)._pathname()).__comma("/");
+$5=$recv(aUrl)._search();
+if(($receiver = $5) == null || $receiver.a$nil){
+$4="";
 } else {
-$6=$7;
+$4=$5;
 }
-$4=[$recv($5).__comma($6)
+$2=[$recv($3).__comma($4)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
 ][0];
-$self._respondRedirect_to_($4,aResponse);
+$self._respondRedirect_to_($2,aResponse);
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1343,7 +1320,7 @@ var type,filename;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
+var $1,$2;
 filename=aFilename;
 $recv($self.fs)._readFile_do_(filename,(function(ex,file){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1351,18 +1328,16 @@ return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 $1=$recv(ex)._notNil();
 if($core.assert($1)){
-$2=console;
-$3=[$recv(filename).__comma(" does not exist")
+$recv(console)._log_([$recv(filename).__comma(" does not exist")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($2)._log_($3);
+][0]);
 return $self._respondNotFoundTo_(aResponse);
 } else {
 type=$recv($self._class())._mimeTypeFor_(filename);
-$4=$recv(type).__eq("application/javascript");
-if($core.assert($4)){
+$2=$recv(type).__eq("application/javascript");
+if($core.assert($2)){
 type=$recv(type).__comma(";charset=utf-8");
 type;
 }
@@ -1449,13 +1424,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$self._fallbackPage()
+var $1;
+$1=$recv([$self._fallbackPage()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["fallbackPage"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._isNil();
+][0])._isNil();
 if(!$core.assert($1)){
 return $self._respondFileNamed_to_($self._fallbackPage(),aResponse);
 }
@@ -1560,7 +1534,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$8,$7,$6,$10,$9,$5;
+var $1;
 $self._checkDirectoryLayout();
 $1=$recv($self.http)._createServer_((function(request,response){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1575,13 +1549,11 @@ return $self._handleRequest_respondTo_(request,response);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=console;
-$3=["Error starting server: ".__comma(error)
+return [$recv(console)._log_(["Error starting server: ".__comma(error)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-return [$recv($2)._log_($3)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["log:"]=1
 //>>excludeEnd("ctx");
@@ -1598,30 +1570,23 @@ $recv($1)._on_do_("listening",(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=console;
-$8=[$self._host()
+return $recv(console)._log_([$recv([$recv("Starting file server on http://".__comma([$self._host()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["host"]=1
 //>>excludeEnd("ctx");
-][0];
-$7="Starting file server on http://".__comma($8);
-$6=[$recv($7).__comma(":")
+][0])).__comma(":")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-$10=[$self._port()
+][0]).__comma($recv([$self._port()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["port"]=1
 //>>excludeEnd("ctx");
-][0];
-$9=$recv($10)._asString();
-$5=[$recv($6).__comma($9)
+][0])._asString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-return $recv($4)._log_($5);
+][0]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)});
 //>>excludeEnd("ctx");
@@ -1694,50 +1659,42 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$7,$6,$5,$8,$9,$receiver;
-$1=$self.fs;
-$2=[$self._basePath()
+var $1,$receiver;
+$recv($self.fs)._stat_then_([$self._basePath()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["basePath"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._stat_then_($2,(function(err,stat){
+][0],(function(err,stat){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 if(($receiver = err) == null || $receiver.a$nil){
-$3=$recv(stat)._isDirectory();
-if(!$core.assert($3)){
-$4=console;
-$7=[$self._basePath()
+$1=$recv(stat)._isDirectory();
+if(!$core.assert($1)){
+return [$recv(console)._warn_([$recv(["Warning: --base-path parameter ".__comma([$self._basePath()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["basePath"]=2
 //>>excludeEnd("ctx");
-][0];
-$6=["Warning: --base-path parameter ".__comma($7)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6).__comma(" is not a directory.")
+][0]).__comma(" is not a directory.")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-return [$recv($4)._warn_($5)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["warn:"]=1
 //>>excludeEnd("ctx");
 ][0];
 }
 } else {
-$8=console;
-$9=[$recv("Warning: path at --base-path parameter ".__comma($self._basePath())).__comma(" does not exist.")
+return $recv(console)._warn_([$recv("Warning: path at --base-path parameter ".__comma($self._basePath())).__comma(" does not exist.")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-return $recv($8)._warn_($9);
+][0]);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({err:err,stat:stat},$ctx1,1)});
@@ -1875,7 +1832,7 @@ var server,popFront,front,optionName,optionValue,switches;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5,$6,$7,$8;
+var $1,$2;
 var $early={};
 try {
 switches=$self._commandLineSwitches();
@@ -1891,24 +1848,20 @@ if(!$core.assert($1)){
 ,$ctx1.sendIdx["log:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=console;
-$3=["Wrong commandline options or not enough arguments for: ".__comma(options)
+[$recv(console)._log_(["Wrong commandline options or not enough arguments for: ".__comma(options)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($2)._log_($3)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["log:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$4=console;
-$5=["Use any of the following ones: ".__comma(switches)
+[$recv(console)._log_(["Use any of the following ones: ".__comma(switches)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-[$recv($4)._log_($5)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["log:"]=3
 //>>excludeEnd("ctx");
@@ -1944,18 +1897,16 @@ optionName=[$recv(popFront)._value_(options)
 //>>excludeEnd("ctx");
 ][0];
 optionValue=$recv(popFront)._value_(options);
-$6=$recv(switches)._includes_(optionName);
-if($core.assert($6)){
+$2=$recv(switches)._includes_(optionName);
+if($core.assert($2)){
 optionName=$self._selectorForCommandLineSwitch_(optionName);
 return $recv(server)._perform_withArguments_(optionName,[optionValue]);
 } else {
-$7=console;
-$8=[$recv(optionName).__comma(" is not a valid commandline option")
+[$recv(console)._log_([$recv(optionName).__comma(" is not a valid commandline option")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-[$recv($7)._log_($8)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["log:"]=4
 //>>excludeEnd("ctx");
@@ -2213,8 +2164,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($recv(aSwitch)._replace_with_("^--",""))._replace_with_("-[a-z]",(function(each){
+return $recv([$recv($recv(aSwitch)._replace_with_("^--",""))._replace_with_("-[a-z]",(function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -2226,8 +2176,7 @@ return $recv($recv(each)._second())._asUppercase();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["replace:with:"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__comma(":");
+][0]).__comma(":");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"selectorForCommandLineSwitch:",{aSwitch:aSwitch})});
 //>>excludeEnd("ctx");
@@ -2332,14 +2281,12 @@ var child;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 child=$recv($self.childProcess)._exec_thenDo_("npm run init",aBlock);
-$1=[$recv(child)._stdout()
+$recv([$recv(child)._stdout()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["stdout"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._pipe_options_($recv(process)._stdout(),$globals.HashedCollection._newFromPairs_(["end",false]));
+][0])._pipe_options_($recv(process)._stdout(),$globals.HashedCollection._newFromPairs_(["end",false]));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"initProjectThenDo:",{aBlock:aBlock,child:child})});
@@ -2398,24 +2345,20 @@ var modulePath,packageJson,binSection,scriptPath;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$4,$2,$5;
-$1=$self.path;
-$3=$recv(require)._provided();
-$4=[$recv(aString).__comma("/package.json")
+var $1;
+modulePath=$recv($self.path)._dirname_($recv($recv(require)._provided())._resolve_([$recv(aString).__comma("/package.json")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._resolve_($4);
-modulePath=$recv($1)._dirname_($2);
+][0]));
 packageJson=$recv($globals.Smalltalk)._readJSObject_($recv(require)._value_($recv(aString).__comma("/package.json")));
 binSection=[$recv(packageJson)._at_("bin")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["at:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$5=$recv(binSection)._isString();
-if($core.assert($5)){
+$1=$recv(binSection)._isString();
+if($core.assert($1)){
 scriptPath=binSection;
 } else {
 scriptPath=$recv(binSection)._at_(anotherString);
@@ -2620,14 +2563,12 @@ var esc,cls;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 esc=$recv($globals.String)._fromCharCode_((27));
-$1=[$recv($recv(esc).__comma("[2J")).__comma(esc)
+cls=[$recv([$recv($recv(esc).__comma("[2J")).__comma(esc)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-cls=[$recv($1).__comma("[0;0f")
+][0]).__comma("[0;0f")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
@@ -2750,36 +2691,29 @@ var compiler;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$4,$3,$2,$5,$6;
 compiler=$recv($globals.Compiler)._new();
-$1=compiler;
-$4=[$recv(aString).__comma(": anObject ^ ")
+[$recv(compiler)._install_forClass_protocol_([$recv([$recv([$recv(aString).__comma(": anObject ^ ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__comma(aString)
+][0]).__comma(aString)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma(" := anObject")
+][0]).__comma(" := anObject")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($1)._install_forClass_protocol_($2,aClass,"session")
+][0],aClass,"session")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["install:forClass:protocol:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$5=compiler;
-$6=[$recv($recv(aString).__comma(" ^ ")).__comma(aString)
+$recv(compiler)._install_forClass_protocol_([$recv($recv(aString).__comma(" ^ ")).__comma(aString)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=4
 //>>excludeEnd("ctx");
-][0];
-$recv($5)._install_forClass_protocol_($6,aClass,"session");
+][0],aClass,"session");
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"encapsulateVariable:withValue:in:",{aString:aString,anObject:anObject,aClass:aClass,compiler:compiler})});
@@ -2973,7 +2907,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
+var $1,$receiver;
 $1=[$recv(aClass)._superclass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["superclass"]=1
@@ -2982,12 +2916,11 @@ $1=[$recv(aClass)._superclass()
 if(($receiver = $1) == null || $receiver.a$nil){
 return $recv(aClass)._instanceVariableNames();
 } else {
-$2=[$recv(aClass)._instanceVariableNames()
+return $recv([$recv(aClass)._instanceVariableNames()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["instanceVariableNames"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($2)._copyWithAll_($self._instanceVariableNamesFor_($recv(aClass)._superclass()));
+][0])._copyWithAll_($self._instanceVariableNamesFor_($recv(aClass)._superclass()));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"instanceVariableNamesFor:",{aClass:aClass})});
@@ -3124,7 +3057,7 @@ var assignment;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
+var $1;
 assignment=$recv($recv(aString)._tokenize_(":="))._collect_((function(s){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -3138,12 +3071,11 @@ $1=$recv($recv($recv(assignment)._size()).__eq((2)))._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$recv(assignment)._first()
+return $self._isIdentifier_([$recv(assignment)._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["first"]=1
 //>>excludeEnd("ctx");
-][0];
-return $self._isIdentifier_($2);
+][0]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 //>>excludeEnd("ctx");
@@ -3179,23 +3111,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
-$3=[$recv($recv(varName).__comma(": ")).__comma($recv($recv(value)._class())._name())
+$recv($globals.Transcript)._show_([$recv([$recv([$recv($recv(varName).__comma(": ")).__comma($recv($recv(value)._class())._name())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma(" = ")
+][0]).__comma(" = ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__comma($recv(value)._asString())
+][0]).__comma($recv(value)._asString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($globals.Transcript)._show_($1);
+][0]);
 $recv($globals.Transcript)._cr();
 $recv($self.interface)._prompt();
 return self;
@@ -3363,8 +3291,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv([":q"]).__minus_gt((function(){
+$self.commands=$recv($globals.Dictionary)._from_([[$recv([":q"]).__minus_gt((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -3376,8 +3303,7 @@ return $recv(process)._exit();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$2,$recv([""]).__minus_gt((function(){
+][0],$recv([""]).__minus_gt((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -3385,8 +3311,7 @@ return $recv($self.interface)._prompt();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 //>>excludeEnd("ctx");
-}))];
-$self.commands=$recv($globals.Dictionary)._from_($1);
+}))]);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"setupCommands",{})});
@@ -3470,13 +3395,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$6,$5,$4,$3,$7,$receiver;
-$2=[$recv(aClass)._name()
+var $1,$receiver;
+$1=[$recv([$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._matchesOf_("\x5cd+$")
+][0])._matchesOf_("\x5cd+$")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["matchesOf:"]=1
 //>>excludeEnd("ctx");
@@ -3485,21 +3409,16 @@ if(($receiver = $1) == null || $receiver.a$nil){
 return $recv($recv(aClass)._name()).__comma("2");
 } else {
 var counter;
-$6=[$recv(aClass)._name()
+counter=$recv($recv($recv($recv([$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=2
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6)._matchesOf_("\x5cd+$");
-$4=$recv($5)._first();
-$3=$recv($4)._asNumber();
-counter=$recv($3).__plus((1));
-$7=[$recv(aClass)._name()
+][0])._matchesOf_("\x5cd+$"))._first())._asNumber()).__plus((1));
+return $recv([$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=3
 //>>excludeEnd("ctx");
-][0];
-return $recv($7)._replaceRegexp_with_("\x5cd+$"._asRegexp(),$recv(counter)._asString());
+][0])._replaceRegexp_with_("\x5cd+$"._asRegexp(),$recv(counter)._asString());
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"subclassNameFor:",{aClass:aClass})});

+ 25 - 47
lang/src/Compiler-AST.js

@@ -271,15 +271,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
-$3=[$recv(aLocation)._start()
+$self._position_($recv($recv([$recv(aLocation)._start()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["start"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._line();
-$1=$recv($2).__at($recv($recv(aLocation)._start())._column());
-$self._position_($1);
+][0])._line()).__at($recv($recv(aLocation)._start())._column()));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"location:",{aLocation:aLocation})});
@@ -335,7 +331,6 @@ var children;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
 var $early={};
 try {
 children=$recv($self._allDagChildren())._select_((function(each){
@@ -368,17 +363,15 @@ return $recv($recv($recv(children)._asArray())._sort_((function(a,b){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$recv(a)._positionStart()
+return $recv([$recv([$recv(a)._positionStart()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["positionStart"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._dist_(aPoint)
+][0])._dist_(aPoint)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["dist:"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__lt_eq($recv($recv(b)._positionStart())._dist_(aPoint));
+][0]).__lt_eq($recv($recv(b)._positionStart())._dist_(aPoint));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,4)});
 //>>excludeEnd("ctx");
@@ -499,30 +492,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$6,$5,$4,$3,$2;
-$1=$self._positionStart();
-$6=[$self._source()
+return $recv($self._positionStart()).__plus($recv([$recv([$recv([$recv([$self._source()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["source"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._lines()
+][0])._lines()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lines"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5)._size()
+][0])._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__minus((1))
+][0]).__minus((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["-"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3).__at($recv($recv($recv($recv($self._source())._lines())._last())._size()).__minus((1)));
-return $recv($1).__plus($2);
+][0]).__at($recv($recv($recv($recv($self._source())._lines())._last())._size()).__minus((1))));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"positionEnd",{})});
 //>>excludeEnd("ctx");
@@ -1706,19 +1692,18 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
+var $1,$receiver;
 $1=[$self._receiver()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["receiver"]=1
 //>>excludeEnd("ctx");
 ][0];
 if(($receiver = $1) == null || $receiver.a$nil){
-$2=[$self._arguments()
+return $recv([$self._arguments()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["arguments"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($2)._copy();
+][0])._copy();
 } else {
 $1;
 }
@@ -2508,19 +2493,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1,$4,$6,$5;
-$3=[$self._methodNode()
+var $1,$3,$2;
+$recv($recv([$recv([$self._methodNode()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodNode"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3)._sequenceNode()
+][0])._sequenceNode()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["sequenceNode"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._dagChildren();
-$recv($1)._ifNotEmpty_((function(){
+][0])._dagChildren())._ifNotEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -2529,11 +2511,11 @@ return $recv($globals.CompilerError)._signal_("There must be no other code or co
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$4=$recv($self._methodNode())._sequenceNode();
-$6=$recv($globals.JSStatementNode)._new();
-$recv($6)._source_(aString);
-$5=$recv($6)._yourself();
-$recv($4)._addDagChild_($5);
+$1=$recv($self._methodNode())._sequenceNode();
+$3=$recv($globals.JSStatementNode)._new();
+$recv($3)._source_(aString);
+$2=$recv($3)._yourself();
+$recv($1)._addDagChild_($2);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"inlineJS:",{aString:aString})});
@@ -2569,7 +2551,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv($self._path())._ifNotEmpty_((function(p){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -2579,7 +2560,7 @@ return $recv(aNode)._parent_($recv(p)._last());
 }, function($ctx2) {$ctx2.fillBlock({p:p},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$1=[(
+return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -2588,7 +2569,6 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"visit:",{aNode:aNode})});
 //>>excludeEnd("ctx");
@@ -2942,13 +2922,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._source()
+$recv([$self._source()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["source"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._ifEmpty_((function(){
+][0])._ifEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");

+ 18 - 40
lang/src/Compiler-Core.js

@@ -631,19 +631,14 @@ var compilationResult,result,pragmas,closureFactory;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$4,$2;
 $self._start_forClass_protocol_(aString,aClass,anotherString);
 compilationResult=$self._compileNode_($self._parse_(aString));
 closureFactory=$self._eval_forPackage_($self._wrappedSourceOf_(compilationResult),$self._currentPackage());
-$1=$recv($globals.Smalltalk)._core();
-$3=$recv(compilationResult)._selector();
-$4=[$recv($recv(compilationResult)._messageSends())._asArray()
+result=$recv($recv($globals.Smalltalk)._core())._method_withFactory_($globals.HashedCollection._newFromPairs_(["selector",$recv(compilationResult)._selector(),"protocol",anotherString,"source",aString,"messageSends",[$recv($recv(compilationResult)._messageSends())._asArray()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asArray"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$globals.HashedCollection._newFromPairs_(["selector",$3,"protocol",anotherString,"source",aString,"messageSends",$4,"args",$recv(compilationResult)._arguments(),"referencedClasses",$recv($recv(compilationResult)._classReferences())._asArray()]);
-result=$recv($1)._method_withFactory_($2,closureFactory);
+][0],"args",$recv(compilationResult)._arguments(),"referencedClasses",$recv($recv(compilationResult)._classReferences())._asArray()]),closureFactory);
 $recv(result)._pragmas_($recv(compilationResult)._pragmas());
 return result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -835,14 +830,11 @@ var result,method;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$self._sourceForExpression_(aString);
-$2=[$recv(anObject)._class()
+method=$self._install_forClass_protocol_($self._sourceForExpression_(aString),[$recv(anObject)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-method=$self._install_forClass_protocol_($1,$2,"**xxxDoIt");
+][0],"**xxxDoIt");
 result=$recv(anObject)._xxxDoIt();
 $recv($recv(anObject)._class())._removeCompiledMethod_(method);
 return result;
@@ -936,7 +928,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$9,$8,$7,$6,$5,$4,$3,$receiver;
+var $1,$2,$receiver;
 $1=[$recv(anException)._basicAt_("location")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["basicAt:"]=1
@@ -948,34 +940,27 @@ return $recv(anException)._pass();
 var loc;
 loc=$receiver;
 $2=$recv($globals.ParseError)._new();
-$9=[$recv(loc)._start()
+$recv($2)._messageText_([$recv([$recv([$recv([$recv("Parse error on line ".__comma($recv([$recv(loc)._start()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["start"]=1
 //>>excludeEnd("ctx");
-][0];
-$8=$recv($9)._line();
-$7="Parse error on line ".__comma($8);
-$6=[$recv($7).__comma(" column ")
+][0])._line())).__comma(" column ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=4
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6).__comma($recv($recv(loc)._start())._column())
+][0]).__comma($recv($recv(loc)._start())._column())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5).__comma(" : Unexpected character ")
+][0]).__comma(" : Unexpected character ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__comma($recv(anException)._basicAt_("found"))
+][0]).__comma($recv(anException)._basicAt_("found"))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($2)._messageText_($3);
+][0]);
 return $recv($2)._yourself();
 }
 return self;
@@ -1100,13 +1085,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv("xxxDoIt ^ [ ".__comma(aString)).__comma(" ] value")
+return [$recv("xxxDoIt ^ [ ".__comma(aString)).__comma(" ] value")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"sourceForExpression:",{aString:aString})});
 //>>excludeEnd("ctx");
@@ -1190,22 +1173,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3;
 return $recv($recv(anIRMethod)._attachments())._ifEmpty_ifNotEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$recv(anIRMethod)._compiledSource()
+return [$recv(["(function ($methodClass){ return ".__comma([$recv(anIRMethod)._compiledSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["compiledSource"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=["(function ($methodClass){ return ".__comma($2)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-return [$recv($1).__comma("; })")
+][0]).__comma("; })")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
@@ -1217,17 +1197,15 @@ return [$recv($1).__comma("; })")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=[$recv("(function ($methodClass){ return (function(method){Object.defineProperty(method,\x22a$atx\x22,{enumerable:false,configurable:true,writable:true,value:".__comma($recv(attachments)._asJavaScriptSource())).__comma("});return method})(")
+return [$recv([$recv([$recv("(function ($methodClass){ return (function(method){Object.defineProperty(method,\x22a$atx\x22,{enumerable:false,configurable:true,writable:true,value:".__comma($recv(attachments)._asJavaScriptSource())).__comma("});return method})(")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=5
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__comma($recv(anIRMethod)._compiledSource())
+][0]).__comma($recv(anIRMethod)._compiledSource())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=4
 //>>excludeEnd("ctx");
-][0];
-return [$recv($3).__comma("); })")
+][0]).__comma("); })")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=3
 //>>excludeEnd("ctx");

File diff suppressed because it is too large
+ 167 - 262
lang/src/Compiler-IR.js


+ 0 - 24
lang/src/Compiler-IR.st

@@ -1328,17 +1328,6 @@ IRPragmator setTraitComposition: {TPragmator} asTraitComposition!
 
 !ASTNode methodsFor: '*Compiler-IR'!
 
-isReferenced
-	"Answer true if the receiver is referenced by other nodes.
-	Do not take sequences or assignments into account"
-	
-	self parent isSequenceNode ifTrue: [ ^ false ].
-	self parent isAssignmentNode ifTrue: [ ^ false ].
-	self parent isCascadeNode ifTrue: [ ^ self parent isReferenced ].
-	
-	^ true
-!
-
 requiresSmalltalkContext
 	"Answer true if the receiver requires a smalltalk context.
 	Only send nodes require a context.
@@ -1399,18 +1388,5 @@ asReceiver
 
 requiresSmalltalkContext
 	^ true
-!
-
-shouldBeAliased
-	"Because we keep track of send indexes, some send nodes need additional care for aliasing. 
-	See IRJSVisitor >> visitIRSend:"
-	
-	| sends |
-	
-	super shouldBeAliased ifTrue: [ ^ true ].
-	self isReferenced ifFalse: [ ^ false ].
-	self superSend ifTrue: [ ^ true ].
-	sends := (self method sendIndexes at: self selector) size.
-	^ self index < sends
 ! !
 

+ 112 - 173
lang/src/Compiler-Inlining.js

@@ -21,7 +21,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$receiver;
+var $1,$2,$3,$receiver;
 $1=$recv(aNode)._superSend();
 if(!$core.assert($1)){
 $2=$recv($recv($globals.IRSendInliner)._inlinedSelectors())._includes_($recv(aNode)._selector());
@@ -36,7 +36,7 @@ $recv(receiver)._shouldBeAliased_(true);
 }
 }
 }
-$4=[(
+return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -45,7 +45,6 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-return $4;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode})});
 //>>excludeEnd("ctx");
@@ -568,18 +567,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
-$1=[$recv($recv($recv(anIRAssignment)._isInlined())._not())._and_((function(){
+return [$recv($recv($recv(anIRAssignment)._isInlined())._not())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(anIRAssignment)._right()
+return $recv($recv([$recv(anIRAssignment)._right()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["right"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._isSend();
-return $recv($2)._and_((function(){
+][0])._isSend())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -596,7 +592,6 @@ return $self._shouldInlineSend_($recv(anIRAssignment)._right());
 ,$ctx1.sendIdx["and:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineAssignment:",{anIRAssignment:anIRAssignment})});
 //>>excludeEnd("ctx");
@@ -619,18 +614,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
-$1=[$recv($recv($recv(anIRReturn)._isInlined())._not())._and_((function(){
+return [$recv($recv($recv(anIRReturn)._isInlined())._not())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(anIRReturn)._expression()
+return $recv($recv([$recv(anIRReturn)._expression()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["expression"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._isSend();
-return $recv($2)._and_((function(){
+][0])._isSend())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -647,7 +639,6 @@ return $self._shouldInlineSend_($recv(anIRReturn)._expression());
 ,$ctx1.sendIdx["and:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"shouldInlineReturn:",{anIRReturn:anIRReturn})});
 //>>excludeEnd("ctx");
@@ -738,28 +729,25 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3,$5;
-$2=[$recv(anIRNonLocalReturn)._scope()
+var $1,$2;
+$1=$recv([$recv(anIRNonLocalReturn)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._canFlattenNonLocalReturns();
+][0])._canFlattenNonLocalReturns();
 if($core.assert($1)){
 var localReturn;
-$4=[$recv(anIRNonLocalReturn)._scope()
+$recv($recv([$recv(anIRNonLocalReturn)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=2
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._methodScope();
-$recv($3)._removeNonLocalReturn_($recv(anIRNonLocalReturn)._scope());
+][0])._methodScope())._removeNonLocalReturn_($recv(anIRNonLocalReturn)._scope());
 localReturn=$self._flattenedReturn_(anIRNonLocalReturn);
 $recv(anIRNonLocalReturn)._replaceWith_(localReturn);
 return $self._visitIRReturn_(localReturn);
 }
-$5=$self._shouldInlineReturn_(anIRNonLocalReturn);
-if($core.assert($5)){
+$2=$self._shouldInlineReturn_(anIRNonLocalReturn);
+if($core.assert($2)){
 return $recv($self._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
 } else {
 return [(
@@ -907,33 +895,28 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$4,$3;
-$1=[$self._stream()
+$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["stream"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._nextPutIf_then_((function(){
+][0])._nextPutIf_then_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$self._stream()
+[$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["stream"]=2
 //>>excludeEnd("ctx");
-][0];
-[$recv($2)._nextPutAll_("!$core.assert(")
+][0])._nextPutAll_("!$core.assert(")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["nextPutAll:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv(anIRInlinedIfFalse)._dagChildren()
+[$self._visit_($recv([$recv(anIRInlinedIfFalse)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._first();
-[$self._visit_($3)
+][0])._first())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["visit:"]=1
 //>>excludeEnd("ctx");
@@ -974,56 +957,47 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$4,$3,$6,$5,$7,$8,$10,$9;
-$1=[$self._stream()
+$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["stream"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._nextPutIf_then_else_((function(){
+][0])._nextPutIf_then_else_((function(){
 var recvVarName;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 recvVarName=$recv(anIRInlinedIfNilIfNotNil)._receiverInternalVariableName();
-$2=[$self._stream()
+[$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["stream"]=2
 //>>excludeEnd("ctx");
-][0];
-$4=["(".__comma(recvVarName)
+][0])._nextPutAll_([$recv(["(".__comma(recvVarName)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__comma(" = ")
+][0]).__comma(" = ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($2)._nextPutAll_($3)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["nextPutAll:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$6=[$recv(anIRInlinedIfNilIfNotNil)._dagChildren()
+[$self._visit_($recv([$recv(anIRInlinedIfNilIfNotNil)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6)._first();
-[$self._visit_($5)
+][0])._first())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["visit:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$7=$self._stream();
-$8=[$recv(") == null || ".__comma(recvVarName)).__comma(".a$nil")
+return $recv($self._stream())._nextPutAll_([$recv(") == null || ".__comma(recvVarName)).__comma(".a$nil")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-return $recv($7)._nextPutAll_($8);
+][0]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({recvVarName:recvVarName},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -1031,13 +1005,11 @@ return $recv($7)._nextPutAll_($8);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$10=[$recv(anIRInlinedIfNilIfNotNil)._dagChildren()
+return [$self._visit_($recv([$recv(anIRInlinedIfNilIfNotNil)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["dagChildren"]=2
 //>>excludeEnd("ctx");
-][0];
-$9=$recv($10)._second();
-return [$self._visit_($9)
+][0])._second())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["visit:"]=2
 //>>excludeEnd("ctx");
@@ -1077,33 +1049,28 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$4,$3;
-$1=[$self._stream()
+$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["stream"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._nextPutIf_then_((function(){
+][0])._nextPutIf_then_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$self._stream()
+[$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["stream"]=2
 //>>excludeEnd("ctx");
-][0];
-[$recv($2)._nextPutAll_("$core.assert(")
+][0])._nextPutAll_("$core.assert(")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["nextPutAll:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv(anIRInlinedIfTrue)._dagChildren()
+[$self._visit_($recv([$recv(anIRInlinedIfTrue)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._first();
-[$self._visit_($3)
+][0])._first())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["visit:"]=1
 //>>excludeEnd("ctx");
@@ -1144,33 +1111,28 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$4,$3,$6,$5;
-$1=[$self._stream()
+$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["stream"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._nextPutIf_then_else_((function(){
+][0])._nextPutIf_then_else_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$self._stream()
+[$recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["stream"]=2
 //>>excludeEnd("ctx");
-][0];
-[$recv($2)._nextPutAll_("$core.assert(")
+][0])._nextPutAll_("$core.assert(")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["nextPutAll:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv(anIRInlinedIfTrueIfFalse)._dagChildren()
+[$self._visit_($recv([$recv(anIRInlinedIfTrueIfFalse)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._first();
-[$self._visit_($3)
+][0])._first())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["visit:"]=1
 //>>excludeEnd("ctx");
@@ -1183,13 +1145,11 @@ return $recv($self._stream())._nextPutAll_(")");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$6=[$recv(anIRInlinedIfTrueIfFalse)._dagChildren()
+return [$self._visit_($recv([$recv(anIRInlinedIfTrueIfFalse)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["dagChildren"]=2
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6)._second();
-return [$self._visit_($5)
+][0])._second())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["visit:"]=2
 //>>excludeEnd("ctx");
@@ -1281,7 +1241,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$5,$6,$4,$2;
+var $1,$3,$5,$4,$2;
 $1=[$recv($globals.IRInlinedIfNilIfNotNil)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["new"]=1
@@ -1295,12 +1255,11 @@ $3=[$recv($globals.IRClosure)._new()
 $recv($3)._scope_($recv($recv(anIRInstruction)._scope())._copy());
 $5=$recv($globals.IRBlockSequence)._new();
 $recv($5)._add_($recv($self._send())._receiver());
-$6=[$recv($5)._yourself()
+$4=[$recv($5)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=$6;
 [$recv($3)._add_($4)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["add:"]=1
@@ -1353,7 +1312,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$5,$6,$4,$2;
+var $1,$3,$5,$4,$2;
 $1=[$recv($globals.IRInlinedIfNilIfNotNil)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["new"]=1
@@ -1367,12 +1326,11 @@ $3=[$recv($globals.IRClosure)._new()
 $recv($3)._scope_($recv($recv(anIRInstruction)._scope())._copy());
 $5=$recv($globals.IRBlockSequence)._new();
 $recv($5)._add_($recv($self._send())._receiver());
-$6=[$recv($5)._yourself()
+$4=[$recv($5)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=$6;
 [$recv($3)._add_($4)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["add:"]=1
@@ -1472,15 +1430,14 @@ var inlinedClosure,sequence,statements;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$5,$6,$4,$7,$9,$11,$13,$14,$15,$12,$10,$17,$19,$20,$18,$16,$8;
+var $1,$2,$4,$3,$5,$7,$9,$11,$10,$8,$13,$15,$14,$12,$6;
 inlinedClosure=$self._inlinedClosure();
 $1=inlinedClosure;
-$2=[$recv(anIRClosure)._scope()
+[$recv($1)._scope_([$recv(anIRClosure)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($1)._scope_($2)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope:"]=1
 //>>excludeEnd("ctx");
@@ -1508,97 +1465,93 @@ sequence=$self._inlinedSequence();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=inlinedClosure;
-$5=[$recv($globals.IRTempDeclaration)._new()
+$2=inlinedClosure;
+$4=[$recv($globals.IRTempDeclaration)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=1
 //>>excludeEnd("ctx");
 ][0];
-[$recv($5)._name_(each)
+[$recv($4)._name_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$6=[$recv($5)._yourself()
+$3=[$recv($4)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=$6;
-[$recv($3)._add_($4)
+[$recv($2)._add_($3)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["add:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$7=sequence;
-$9=[$recv($globals.IRAssignment)._new()
+$5=sequence;
+$7=[$recv($globals.IRAssignment)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=2
 //>>excludeEnd("ctx");
 ][0];
-$11=[$recv($globals.IRVariable)._new()
+$9=[$recv($globals.IRVariable)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=3
 //>>excludeEnd("ctx");
 ][0];
-$13=[$recv($globals.AliasVar)._new()
+$11=[$recv($globals.AliasVar)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=4
 //>>excludeEnd("ctx");
 ][0];
-$14=[$recv(inlinedClosure)._scope()
+[$recv($11)._scope_([$recv(inlinedClosure)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["scope"]=2
 //>>excludeEnd("ctx");
-][0];
-[$recv($13)._scope_($14)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["scope:"]=2
 //>>excludeEnd("ctx");
 ][0];
-[$recv($13)._name_(each)
+[$recv($11)._name_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$15=[$recv($13)._yourself()
+$10=[$recv($11)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["yourself"]=2
 //>>excludeEnd("ctx");
 ][0];
-$12=$15;
-$10=[$recv($11)._variable_($12)
+$8=[$recv($9)._variable_($10)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["variable:"]=1
 //>>excludeEnd("ctx");
 ][0];
-[$recv($9)._add_($10)
+[$recv($7)._add_($8)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["add:"]=4
 //>>excludeEnd("ctx");
 ][0];
-$17=[$recv($globals.IRVariable)._new()
+$13=[$recv($globals.IRVariable)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=5
 //>>excludeEnd("ctx");
 ][0];
-$19=$recv($globals.AliasVar)._new();
-$recv($19)._scope_($recv(inlinedClosure)._scope());
-$recv($19)._name_("$receiver");
-$20=[$recv($19)._yourself()
+$15=$recv($globals.AliasVar)._new();
+$recv($15)._scope_($recv(inlinedClosure)._scope());
+$recv($15)._name_("$receiver");
+$14=[$recv($15)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["yourself"]=3
 //>>excludeEnd("ctx");
 ][0];
-$18=$20;
-$16=$recv($17)._variable_($18);
-[$recv($9)._add_($16)
+$12=$recv($13)._variable_($14);
+[$recv($7)._add_($12)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["add:"]=5
 //>>excludeEnd("ctx");
 ][0];
-$8=$recv($9)._yourself();
-return [$recv($7)._add_($8)
+$6=$recv($7)._yourself();
+return [$recv($5)._add_($6)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["add:"]=3
 //>>excludeEnd("ctx");
@@ -1662,15 +1615,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
 $self._send_(anIRSend);
-$2=[$self._send()
+return $self._perform_withArguments_($recv([$self._send()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["send"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._selector();
-return $self._perform_withArguments_($1,$recv($self._send())._arguments());
+][0])._selector(),$recv($self._send())._arguments());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"inlineSend:",{anIRSend:anIRSend})});
 //>>excludeEnd("ctx");
@@ -1790,7 +1740,7 @@ var inlinedClosure;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$4,$3,$5;
+var $1,$2;
 $1=$recv(anIRInstruction)._isClosure();
 if(!$core.assert($1)){
 [$self._inliningError_("Message argument should be a block")
@@ -1804,25 +1754,22 @@ if(!$core.assert($2)){
 $self._inliningError_("Inlined block should have zero argument");
 }
 inlinedClosure=$recv($self._translator())._visit_($self._inlineClosure_(anIRInstruction));
-$4=[$self._send()
+[$recv(inlinedSend)._add_($recv([$self._send()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["send"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._receiver();
-[$recv(inlinedSend)._add_($3)
+][0])._receiver())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["add:"]=1
 //>>excludeEnd("ctx");
 ][0];
 $recv(inlinedSend)._add_(inlinedClosure);
 $recv($self._send())._replaceWith_(inlinedSend);
-$5=[$recv($recv(inlinedSend)._method())._internalVariables()
+$recv([$recv($recv(inlinedSend)._method())._internalVariables()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["internalVariables"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($5)._addAll_($recv(inlinedSend)._internalVariables());
+][0])._addAll_($recv(inlinedSend)._internalVariables());
 return inlinedSend;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"inlinedSend:withBlock:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,inlinedClosure:inlinedClosure})});
@@ -1847,7 +1794,7 @@ var inlinedClosure1,inlinedClosure2;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$6,$5,$7;
+var $1,$2;
 $1=[$recv(anIRInstruction)._isClosure()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["isClosure"]=1
@@ -1864,29 +1811,25 @@ $2=$recv(anotherIRInstruction)._isClosure();
 if(!$core.assert($2)){
 $self._inliningError_("Message argument should be a block");
 }
-$3=[$self._translator()
+inlinedClosure1=[$recv([$self._translator()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["translator"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$self._inlineClosure_(anIRInstruction)
+][0])._visit_([$self._inlineClosure_(anIRInstruction)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["inlineClosure:"]=1
 //>>excludeEnd("ctx");
-][0];
-inlinedClosure1=[$recv($3)._visit_($4)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["visit:"]=1
 //>>excludeEnd("ctx");
 ][0];
 inlinedClosure2=$recv($self._translator())._visit_($self._inlineClosure_(anotherIRInstruction));
-$6=[$self._send()
+[$recv(inlinedSend)._add_($recv([$self._send()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["send"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6)._receiver();
-[$recv(inlinedSend)._add_($5)
+][0])._receiver())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["add:"]=1
 //>>excludeEnd("ctx");
@@ -1898,12 +1841,11 @@ $5=$recv($6)._receiver();
 ][0];
 $recv(inlinedSend)._add_(inlinedClosure2);
 $recv($self._send())._replaceWith_(inlinedSend);
-$7=[$recv($recv(inlinedSend)._method())._internalVariables()
+$recv([$recv($recv(inlinedSend)._method())._internalVariables()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["internalVariables"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($7)._addAll_($recv(inlinedSend)._internalVariables());
+][0])._addAll_($recv(inlinedSend)._internalVariables());
 return inlinedSend;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"inlinedSend:withBlock:withBlock:",{inlinedSend:inlinedSend,anIRInstruction:anIRInstruction,anotherIRInstruction:anotherIRInstruction,inlinedClosure1:inlinedClosure1,inlinedClosure2:inlinedClosure2})});
@@ -2136,8 +2078,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[(
+var $1;
+return $self._inlinedClosure_wrapFinalValueIn_([(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -2145,19 +2087,18 @@ $ctx1.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
-][0];
-return $self._inlinedClosure_wrapFinalValueIn_($1,(function(final){
+][0],(function(final){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv($globals.IRAssignment)._new();
-[$recv($2)._add_($self._target())
+$1=$recv($globals.IRAssignment)._new();
+[$recv($1)._add_($self._target())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["add:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$recv($2)._add_($recv(final)._copy());
-return $recv($2)._yourself();
+$recv($1)._add_($recv(final)._copy());
+return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({final:final},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -2227,8 +2168,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[(
+var $1;
+return $self._inlinedClosure_wrapFinalValueIn_([(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -2236,14 +2177,13 @@ $ctx1.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
-][0];
-return $self._inlinedClosure_wrapFinalValueIn_($1,(function(final){
+][0],(function(final){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv($globals.IRNonLocalReturn)._new();
-$recv($2)._add_($recv(final)._copy());
-return $recv($2)._yourself();
+$1=$recv($globals.IRNonLocalReturn)._new();
+$recv($1)._add_($recv(final)._copy());
+return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({final:final},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -2299,8 +2239,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[(
+var $1;
+return $self._inlinedClosure_wrapFinalValueIn_([(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -2308,14 +2248,13 @@ $ctx1.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
-][0];
-return $self._inlinedClosure_wrapFinalValueIn_($1,(function(final){
+][0],(function(final){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv($globals.IRReturn)._new();
-$recv($2)._add_($recv(final)._copy());
-return $recv($2)._yourself();
+$1=$recv($globals.IRReturn)._new();
+$recv($1)._add_($recv(final)._copy());
+return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({final:final},$ctx1,1)});
 //>>excludeEnd("ctx");

+ 97 - 146
lang/src/Compiler-Interpreter.js

@@ -250,7 +250,7 @@ var context,sequenceNode;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 context=$recv($self.outerContext)._newInnerContext();
 $1=$recv($recv($recv($self.node)._dagChildren())._first())._copy();
 $recv($1)._parent_(nil);
@@ -289,12 +289,11 @@ $2=[$recv(context)._interpreter()
 $recv($2)._node_(sequenceNode);
 $recv($2)._enterNode();
 $recv($2)._proceed();
-$3=[$recv($self.outerContext)._interpreter()
+$recv([$recv($self.outerContext)._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=2
 //>>excludeEnd("ctx");
-][0];
-$recv($3)._setNonLocalReturnFromContext_(context);
+][0])._setNonLocalReturnFromContext_(context);
 return $recv($recv(context)._interpreter())._pop();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"valueWithPossibleArguments:",{aCollection:aCollection,context:context,sequenceNode:sequenceNode})});
@@ -679,13 +678,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._method()
+$self.ast=$recv([$self._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["method"]=1
 //>>excludeEnd("ctx");
-][0];
-$self.ast=$recv($1)._ast();
+][0])._ast();
 $recv($recv($globals.SemanticAnalyzer)._on_($recv($self._method())._origin()))._visit_($self.ast);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -710,7 +707,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$receiver;
+var $1,$2,$receiver;
 $self._evaluatedSelector_($recv(aMethodContext)._evaluatedSelector());
 $self._index_($recv(aMethodContext)._index());
 $self._sendIndexes_($recv(aMethodContext)._sendIndexes());
@@ -733,12 +730,11 @@ $2;
 } else {
 $self._outerContext_($recv($self._class())._fromMethodContext_($recv(aMethodContext)._outerContext()));
 }
-$3=[$recv(aMethodContext)._locals()
+$recv([$recv(aMethodContext)._locals()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["locals"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($3)._keysAndValuesDo_((function(key,value){
+][0])._keysAndValuesDo_((function(key,value){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1344,25 +1340,23 @@ var currentNode;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$7,$6,$5,$receiver;
+var $1,$2,$receiver;
 $1=$recv($globals.ASTPCNodeVisitor)._new();
-$2=[$self._evaluatedSelector()
+$recv($1)._selector_([$self._evaluatedSelector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["evaluatedSelector"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._selector_($2);
+][0]);
 $recv($1)._index_($self._sendIndexAt_($self._evaluatedSelector()));
-$3=[$self._ast()
+$recv($1)._visit_([$self._ast()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["ast"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._visit_($3);
+][0]);
 currentNode=$recv($1)._currentNode();
-$4=$recv($self._ast())._sequenceNode();
-if(($receiver = $4) == null || $receiver.a$nil){
-$4;
+$2=$recv($self._ast())._sequenceNode();
+if(($receiver = $2) == null || $receiver.a$nil){
+$2;
 } else {
 var sequence;
 sequence=$receiver;
@@ -1381,14 +1375,11 @@ return $self._defineLocal_(each);
 ][0];
 }
 $recv(anInterpreter)._node_(currentNode);
-$7=[$self._innerContext()
+$recv($recv($recv([$self._innerContext()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["innerContext"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=$recv($7)._arguments();
-$5=$recv($6)._reversed();
-$recv($5)._do_((function(each){
+][0])._arguments())._reversed())._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1566,14 +1557,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 $recv($self._context())._localAt_ifAbsent_($recv(aNode)._value(),(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[(
+throw $early=[[(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.supercall = true,
 //>>excludeEnd("ctx");
@@ -1581,8 +1571,7 @@ $ctx2.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.supercall = false
 //>>excludeEnd("ctx");
-][0];
-throw $early=[$1];
+][0]];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -1837,39 +1826,36 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2,$4,$6,$5,$receiver;
-$1=[$self._interpreter()
+var $1,$2,$3,$receiver;
+$self.result=$recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=1
 //>>excludeEnd("ctx");
-][0];
-$self.result=$recv($1)._result();
-$3=[$self._interpreter()
+][0])._result();
+$1=[$recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=2
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3)._atEnd()
+][0])._atEnd()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["atEnd"]=1
 //>>excludeEnd("ctx");
 ][0];
-if($core.assert($2)){
-$4=$recv($self._context())._outerContext();
-if(($receiver = $4) == null || $receiver.a$nil){
-$4;
+if($core.assert($1)){
+$2=$recv($self._context())._outerContext();
+if(($receiver = $2) == null || $receiver.a$nil){
+$2;
 } else {
 var outerContext;
 outerContext=$receiver;
 $self._context_(outerContext);
 }
-$6=[$self._interpreter()
+$3=$recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=3
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6)._atEnd();
-if(!$core.assert($5)){
+][0])._atEnd();
+if(!$core.assert($3)){
 $recv($self._interpreter())._skip();
 }
 }
@@ -2004,17 +1990,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $1=$recv($self._context())._isTopContext();
 if($core.assert($1)){
 $recv($self._interpreter())._stepOver();
 } else {
-$2=[$self._interpreter()
+$recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($2)._skip();
+][0])._skip();
 }
 $self._onStep();
 return self;
@@ -2158,7 +2143,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv($recv(aNode)._temps())._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -2168,7 +2152,7 @@ return $recv($recv($self._interpreter())._context())._defineLocal_(each);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$1=[(
+return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -2177,7 +2161,6 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"visitSequenceNode:",{aNode:aNode})});
 //>>excludeEnd("ctx");
@@ -2232,21 +2215,18 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2,$4;
+var $1;
 $1=$recv($recv(aNode)._binding())._isInstanceVar();
 if($core.assert($1)){
-$3=[$self._context()
+$recv($recv([$self._context()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["context"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._receiver();
-$4=[$recv(aNode)._value()
+][0])._receiver())._instVarAt_put_([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($2)._instVarAt_put_($4,anObject);
+][0],anObject);
 } else {
 $recv($self._context())._localAt_put_($recv(aNode)._value(),anObject);
 }
@@ -2371,7 +2351,6 @@ var source,function_;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
 source=$recv($globals.String)._streamContents_((function(str){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -2381,18 +2360,15 @@ return $core.withContext(function($ctx2) {
 ,$ctx2.sendIdx["nextPutAll:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$3=[$self._context()
+$recv($recv([$recv([$self._context()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["context"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3)._locals()
+][0])._locals()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["locals"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._keys();
-$recv($1)._do_separatedBy_((function(each){
+][0])._keys())._do_separatedBy_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -2672,15 +2648,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
-$1=[$self._stack()
+$recv([$self._stack()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["stack"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._ifEmpty_((function(){
+][0])._ifEmpty_((function(){
 throw $early=[nil];
 
 }));
@@ -2890,7 +2864,7 @@ var method;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$receiver;
+var $1,$2,$receiver;
 if(!$core.assert(aBoolean)){
 return $recv(aMessage)._sendTo_(anObject);
 }
@@ -2900,20 +2874,19 @@ $1=[$recv($recv(anObject)._class())._superclass()
 //>>excludeEnd("ctx");
 ][0];
 if(($receiver = $1) == null || $receiver.a$nil){
-$2=[$self._messageNotUnderstood_receiver_(aMessage,anObject)
+return [$self._messageNotUnderstood_receiver_(aMessage,anObject)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["messageNotUnderstood:receiver:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $2;
 } else {
 $1;
 }
-$3=$recv($recv($recv($recv($self._context())._method())._methodClass())._superclass())._lookupSelector_($recv(aMessage)._selector());
-if(($receiver = $3) == null || $receiver.a$nil){
+$2=$recv($recv($recv($recv($self._context())._method())._methodClass())._superclass())._lookupSelector_($recv(aMessage)._selector());
+if(($receiver = $2) == null || $receiver.a$nil){
 return $self._messageNotUnderstood_receiver_(aMessage,anObject);
 } else {
-method=$3;
+method=$2;
 }
 return $recv(method)._sendTo_arguments_(anObject,$recv(aMessage)._arguments());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -2938,13 +2911,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv(aContext)._interpreter()
+var $1;
+$1=$recv([$recv(aContext)._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._hasReturned();
+][0])._hasReturned();
 if($core.assert($1)){
 $self.returned=true;
 $self._returnValue_($recv($recv(aContext)._interpreter())._returnValue());
@@ -3051,7 +3023,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
 [$self._step()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["step"]=1
@@ -3061,13 +3032,11 @@ $recv((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$self._node()
+return $recv($recv([$self._node()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["node"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._isNil();
-return $recv($1)._or_((function(){
+][0])._isNil())._or_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -3454,25 +3423,22 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$5,$6,$4,$3,$9,$8,$11,$10,$12,$13,$15,$14,$17,$16,$19,$18,$21,$20,$23,$22,$24,$25,$7;
-$2=[$recv(aNode)._binding()
+var $1,$3,$4,$6,$5,$7,$8,$9,$10,$2;
+$1=$recv([$recv(aNode)._binding()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["binding"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._isExternallyKnownVar();
+][0])._isExternallyKnownVar();
 if($core.assert($1)){
-$5=[$recv($globals.Platform)._globals()
+return [$self._push_([$recv([$recv($globals.Platform)._globals()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["globals"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv(aNode)._value()
+][0])._at_ifAbsent_([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5)._at_ifAbsent_($6,(function(){
+][0],(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -3484,102 +3450,90 @@ return $self._error_("Unknown variable");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["at:ifAbsent:"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$self._push_($4)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["push:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $3;
 }
-$9=[$recv(aNode)._binding()
+$3=$recv([$recv(aNode)._binding()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["binding"]=2
 //>>excludeEnd("ctx");
-][0];
-$8=$recv($9)._isInstanceVar();
-if($core.assert($8)){
-$11=[$self._context()
+][0])._isInstanceVar();
+if($core.assert($3)){
+$2=$recv($recv([$self._context()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["context"]=1
 //>>excludeEnd("ctx");
-][0];
-$10=$recv($11)._receiver();
-$12=[$recv(aNode)._value()
+][0])._receiver())._instVarAt_([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value"]=2
 //>>excludeEnd("ctx");
-][0];
-$7=$recv($10)._instVarAt_($12);
+][0]);
 } else {
-$13=$self._context();
-$15=$recv($recv(aNode)._binding())._isSuper();
-if($core.assert($15)){
-$14="self";
+$4=$self._context();
+$6=$recv($recv(aNode)._binding())._isSuper();
+if($core.assert($6)){
+$5="self";
 } else {
-$14=[$recv(aNode)._value()
+$5=[$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value"]=3
 //>>excludeEnd("ctx");
 ][0];
 }
-$7=$recv($13)._localAt_ifAbsent_($14,(function(){
+$2=$recv($4)._localAt_ifAbsent_($5,(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$17=[$recv(aNode)._value()
+$7=[$recv([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value"]=4
 //>>excludeEnd("ctx");
-][0];
-$16=[$recv($17).__eq("nil")
+][0]).__eq("nil")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=1
 //>>excludeEnd("ctx");
 ][0];
-if($core.assert($16)){
+if($core.assert($7)){
 return nil;
 } else {
-$19=[$recv(aNode)._value()
+$8=[$recv([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value"]=5
 //>>excludeEnd("ctx");
-][0];
-$18=[$recv($19).__eq("true")
+][0]).__eq("true")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=2
 //>>excludeEnd("ctx");
 ][0];
-if($core.assert($18)){
+if($core.assert($8)){
 return true;
 } else {
-$21=[$recv(aNode)._value()
+$9=$recv([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value"]=6
 //>>excludeEnd("ctx");
-][0];
-$20=$recv($21).__eq("false");
-if($core.assert($20)){
+][0]).__eq("false");
+if($core.assert($9)){
 return false;
 } else {
-$23=[$recv(aNode)._value()
+$10=$recv([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value"]=7
 //>>excludeEnd("ctx");
-][0];
-$22=$recv($23)._isCapitalized();
-if($core.assert($22)){
-$24=[$recv($globals.Smalltalk)._globals()
+][0])._isCapitalized();
+if($core.assert($10)){
+return $recv([$recv($globals.Smalltalk)._globals()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["globals"]=2
 //>>excludeEnd("ctx");
-][0];
-$25=[$recv(aNode)._value()
+][0])._at_ifAbsent_([$recv(aNode)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value"]=8
 //>>excludeEnd("ctx");
-][0];
-return $recv($24)._at_ifAbsent_($25,(function(){
+][0],(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -3597,7 +3551,7 @@ return $recv($recv($globals.Platform)._globals())._at_($recv(aNode)._value());
 //>>excludeEnd("ctx");
 }));
 }
-$self._push_($7);
+$self._push_($2);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"visitVariableNode:",{aNode:aNode})});
@@ -3798,7 +3752,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3;
+var $1,$2;
 [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -3808,19 +3762,18 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-$2=[$self._selector()
+$1=[$recv([$self._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__eq($recv(aNode)._selector())
+][0]).__eq($recv(aNode)._selector())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
 ][0];
 if($core.assert($1)){
-$3=$recv($self._trackedIndex()).__eq($self._index());
-if($core.assert($3)){
+$2=$recv($self._trackedIndex()).__eq($self._index());
+if($core.assert($2)){
 $self.currentNode=aNode;
 $self.currentNode;
 }
@@ -3893,13 +3846,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._dagChildren()
+return $recv([$self._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._at_ifAbsent_($recv($recv($self._dagChildren())._indexOf_(aNode)).__plus((1)),(function(){
+][0])._at_ifAbsent_($recv($recv($self._dagChildren())._indexOf_(aNode)).__plus((1)),(function(){
 return nil;
 
 }));

+ 27 - 51
lang/src/Compiler-Semantic.js

@@ -24,13 +24,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._args()
+$recv([$self._args()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["args"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._at_put_(aString,$recv($globals.ArgVar)._on_(aString));
+][0])._at_put_(aString,$recv($globals.ArgVar)._on_(aString));
 $recv($recv($self._args())._at_(aString))._scope_(self);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -55,13 +53,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._temps()
+$recv([$self._temps()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["temps"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._at_put_(aString,$recv($globals.TempVar)._on_(aString));
+][0])._at_put_(aString,$recv($globals.TempVar)._on_(aString));
 $recv($recv($self._temps())._at_(aString))._scope_(self);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -109,13 +105,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($self._args())._keys()
+return $recv([$recv($self._args())._keys()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["keys"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__comma($recv($self._temps())._keys());
+][0]).__comma($recv($self._temps())._keys());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{})});
 //>>excludeEnd("ctx");
@@ -169,9 +163,8 @@ var identifier;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 identifier=$recv(aNode)._value();
-$1=[$recv($self._pseudoVars())._at_ifAbsent_(identifier,(function(){
+return [$recv($self._pseudoVars())._at_ifAbsent_(identifier,(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -199,7 +192,6 @@ return nil;
 ,$ctx1.sendIdx["at:ifAbsent:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"bindingFor:",{aNode:aNode,identifier:identifier})});
 //>>excludeEnd("ctx");
@@ -582,7 +574,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$4,$3,$receiver;
+var $1,$2,$receiver;
 $1=[$self._outerScope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["outerScope"]=1
@@ -595,17 +587,15 @@ $1;
 }
 $2=$self._isInlined();
 if($core.assert($2)){
-$4=[$self._outerScope()
+return [$recv([$self._outerScope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["outerScope"]=2
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4)._scopeLevel()
+][0])._scopeLevel()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scopeLevel"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $3;
 }
 return $recv($recv($self._outerScope())._scopeLevel()).__plus((1));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -666,13 +656,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._iVars()
+$recv([$self._iVars()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["iVars"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._at_put_(aString,$recv($globals.InstanceVar)._on_(aString));
+][0])._at_put_(aString,$recv($globals.InstanceVar)._on_(aString));
 $recv($recv($self._iVars())._at_(aString))._scope_(self);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -721,8 +709,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[(
+return $recv([(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -730,8 +717,7 @@ $ctx1.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__comma($recv($self._iVars())._keys());
+][0]).__comma($recv($self._iVars())._keys());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"allVariableNames",{})});
 //>>excludeEnd("ctx");
@@ -1771,7 +1757,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5;
+var $1,$2,$3,$4;
 $1=$recv(aString)._isCapitalized();
 if($core.assert($1)){
 $recv($self._classReferences())._add_(aString);
@@ -1785,14 +1771,13 @@ $2=[$recv($globals.ClassRefVar)._new()
 ,$ctx1.sendIdx["name:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$3=[$recv($2)._yourself()
+return [$recv($2)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $3;
 }
-$4=$recv($recv($recv($globals.Smalltalk)._globalJsVariables())._includes_(aString))._or_((function(){
+$3=$recv($recv($recv($globals.Smalltalk)._globalJsVariables())._includes_(aString))._or_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1801,10 +1786,10 @@ return $self._isVariableKnown_inPackage_(aString,$self._thePackage());
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 //>>excludeEnd("ctx");
 }));
-if($core.assert($4)){
-$5=$recv($globals.ExternallyKnownVar)._new();
-$recv($5)._name_(aString);
-return $recv($5)._yourself();
+if($core.assert($3)){
+$4=$recv($globals.ExternallyKnownVar)._new();
+$recv($4)._name_(aString);
+return $recv($4)._yourself();
 }
 $self._errorUnknownVariable_(aString);
 return self;
@@ -1941,24 +1926,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$4,$3,$2;
-$1=$recv($globals.Compiler)._new();
-$4=[$recv("typeof(".__comma(aString)).__comma(")!== \x22undefined\x22||(function(){try{return(")
+return $recv($recv($globals.Compiler)._new())._eval_forPackage_([$recv([$recv([$recv("typeof(".__comma(aString)).__comma(")!== \x22undefined\x22||(function(){try{return(")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__comma(aString)
+][0]).__comma(aString)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma(",true)}catch(_){return false}})()")
+][0]).__comma(",true)}catch(_){return false}})()")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._eval_forPackage_($2,aPackage);
+][0],aPackage);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"isVariableKnown:inPackage:",{aString:aString,aPackage:aPackage})});
 //>>excludeEnd("ctx");
@@ -2717,13 +2697,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv("Variable shadowing error: ".__comma($self._variableName())).__comma(" is already defined")
+return [$recv("Variable shadowing error: ".__comma($self._variableName())).__comma(" is already defined")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"messageText",{})});
 //>>excludeEnd("ctx");
@@ -2789,13 +2767,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv("Unknown Variable error: ".__comma($self._variableName())).__comma(" is not defined")
+return [$recv("Unknown Variable error: ".__comma($self._variableName())).__comma(" is not defined")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"messageText",{})});
 //>>excludeEnd("ctx");

+ 101 - 204
lang/src/Compiler-Tests.js

@@ -512,14 +512,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv((1).__minus_gt((2))).__minus_gt((3))
+$self._should_return_("foo ^ #{1->2->3}",$recv($globals.HashedCollection)._with_([$recv((1).__minus_gt((2))).__minus_gt((3))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($globals.HashedCollection)._with_($2);
-$self._should_return_("foo ^ #{1->2->3}",$1);
+][0]));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testDynamicDictionaryWithMoreArrows",{})});
@@ -577,62 +574,50 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$3,$1,$5,$6,$4,$8,$9,$7,$11,$10;
-$2=["foo".__minus_gt($globals.Array)
+[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(x := 2)\x0a",[["foo".__minus_gt($globals.Array)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=["bar".__minus_gt((2))
+][0],["bar".__minus_gt((2))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=2
 //>>excludeEnd("ctx");
-][0];
-$1=[$2,$3];
-[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(x := 2)\x0a",$1)
+][0]])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["should:return:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$5=["foo".__minus_gt($globals.Array)
+[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[["foo".__minus_gt($globals.Array)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=3
 //>>excludeEnd("ctx");
-][0];
-$6=["bar".__minus_gt((2))
+][0],["bar".__minus_gt((2))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=4
 //>>excludeEnd("ctx");
-][0];
-$4=[$5,$6];
-[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := Array.\x0a\x09^ x with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",$4)
+][0]])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["should:return:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$8=["foo".__minus_gt((1))
+[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",[["foo".__minus_gt((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=5
 //>>excludeEnd("ctx");
-][0];
-$9=["bar".__minus_gt((2))
+][0],["bar".__minus_gt((2))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=6
 //>>excludeEnd("ctx");
-][0];
-$7=[$8,$9];
-[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ Array with: 'foo'->x with: 'bar'->(true ifTrue: [ x := 2 ])\x0a",$7)
+][0]])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["should:return:"]=3
 //>>excludeEnd("ctx");
 ][0];
-$11=["foo".__minus_gt((1))
+[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",[["foo".__minus_gt((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["->"]=7
 //>>excludeEnd("ctx");
-][0];
-$10=[$11,"bar".__minus_gt((2))];
-[$self._should_return_("foo\x0a\x09| x |\x0a\x09x := 1.\x0a\x09^ { 'foo'->x. 'bar'->(true ifTrue: [ x := 2 ]) }\x0a",$10)
+][0],"bar".__minus_gt((2))])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["should:return:"]=4
 //>>excludeEnd("ctx");
@@ -1827,13 +1812,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._name()
+return $recv([$self._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__eq($recv($globals.AbstractCompilerTest)._name());
+][0]).__eq($recv($globals.AbstractCompilerTest)._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{})});
 //>>excludeEnd("ctx");
@@ -2060,7 +2043,7 @@ var ast;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$4,$2,$1,$7,$6,$5;
+var $3,$2,$1,$6,$5,$4;
 ast=[$self._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$globals.Object)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["parse:forClass:"]=1
@@ -2076,12 +2059,11 @@ $3=[$self._astPCNodeVisitorForSelector_("yourself")
 ,$ctx1.sendIdx["visit:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv($3)._currentNode()
+$2=[$recv($3)._currentNode()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["currentNode"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=$4;
 $1=[$recv($2)._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selector"]=1
@@ -2093,11 +2075,11 @@ $1=[$recv($2)._selector()
 //>>excludeEnd("ctx");
 ][0];
 ast=$self._parse_forClass_("foo true ifTrue: [ self asString yourself ]. ^ self asBoolean",$globals.Object);
-$7=$self._astPCNodeVisitorForSelector_("asBoolean");
-$recv($7)._visit_(ast);
-$6=$recv($7)._currentNode();
-$5=$recv($6)._selector();
-$self._assert_equals_($5,"asBoolean");
+$6=$self._astPCNodeVisitorForSelector_("asBoolean");
+$recv($6)._visit_(ast);
+$5=$recv($6)._currentNode();
+$4=$recv($5)._selector();
+$self._assert_equals_($4,"asBoolean");
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testMessageSendWithInlining",{ast:ast})});
@@ -2156,28 +2138,23 @@ var node;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$4,$2,$1,$7,$8,$6,$5;
 node=[$self._parse_forClass_("yourself\x0a\x09^ self",$globals.Object)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["parse:forClass:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$3=node;
-$4=[(2).__at((4))
+[$self._assert_equals_($recv([$recv(node)._navigationNodeAt_ifAbsent_([(2).__at((4))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["@"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3)._navigationNodeAt_ifAbsent_($4,(function(){
+][0],(function(){
 return nil;
 
 }))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["navigationNodeAt:ifAbsent:"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._source();
-[$self._assert_equals_($1,"self")
+][0])._source(),"self")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
@@ -2187,26 +2164,22 @@ node=[$self._parse_forClass_("foo\x0a\x09true ifTrue: [ 1 ]",$globals.Object)
 ,$ctx1.sendIdx["parse:forClass:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$7=node;
-$8=[(2).__at((7))
+[$self._assert_equals_([$recv([$recv(node)._navigationNodeAt_ifAbsent_([(2).__at((7))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["@"]=2
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv($7)._navigationNodeAt_ifAbsent_($8,(function(){
+][0],(function(){
 return nil;
 
 }))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["navigationNodeAt:ifAbsent:"]=2
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._selector()
+][0])._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($5,"ifTrue:")
+][0],"ifTrue:")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=2
 //>>excludeEnd("ctx");
@@ -2261,7 +2234,7 @@ var method;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
+var $1,$receiver;
 $recv((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -2270,12 +2243,11 @@ return $self._should_raise_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=[$recv($self.receiver)._class()
+method=$self._install_forClass_(aString,[$recv($self.receiver)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-method=$self._install_forClass_(aString,$1);
+][0]);
 return method;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)});
@@ -2288,9 +2260,9 @@ return method;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=method;
-if(($receiver = $2) == null || $receiver.a$nil){
-return $2;
+$1=method;
+if(($receiver = $1) == null || $receiver.a$nil){
+return $1;
 } else {
 return $recv($recv($self.receiver)._class())._removeCompiledMethod_(method);
 }
@@ -2345,19 +2317,17 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $self.receiver=$recv($globals.ObjectMock)._new();
 $recv($self.receiver)._foo_((4));
 $self._while_should_("baz <jsOverride: #baz> ^ (foo := foo + 3)",(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv($self.receiver)._baz()
+[$self._assert_equals_([$recv($self.receiver)._baz()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["baz"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($1,(7))
+][0],(7))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
@@ -2400,7 +2370,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $self.receiver=$recv($globals.ObjectMock)._new();
 $recv($self.receiver)._foo_((4));
 $self._while_should_("quux <jsOverride: #mux> ^ (foo := foo + 3)",(function(){
@@ -2420,12 +2389,11 @@ return $recv($self.receiver)._mux();
 ,$ctx2.sendIdx["should:raise:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$1=[$recv($self.receiver)._basicPerform_("mux")
+[$self._assert_equals_([$recv($self.receiver)._basicPerform_("mux")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["basicPerform:"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($1,(7))
+][0],(7))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
@@ -2497,13 +2465,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._name()
+return $recv([$self._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__eq($recv($globals.AbstractCodeGeneratorInstallTest)._name());
+][0]).__eq($recv($globals.AbstractCodeGeneratorInstallTest)._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{})});
 //>>excludeEnd("ctx");
@@ -2838,23 +2804,18 @@ var src,ast;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $4,$3,$2,$1;
 src="foo | a | a + 1. [ | b | b := a ]";
 ast=$recv($globals.Smalltalk)._parse_(src);
 $recv($self.analyzer)._visit_(ast);
-$4=[$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
+$self._deny_($recv([$recv($recv([$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._last();
-$2=[$recv($3)._scope()
+][0])._last())._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__eq_eq($recv(ast)._scope());
-$self._deny_($1);
+][0]).__eq_eq($recv(ast)._scope()));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testScope",{src:src,ast:ast})});
@@ -2879,43 +2840,34 @@ var src,ast;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $8,$7,$6,$5,$4,$3,$2,$1;
 src="foo | a | a + 1. [ [ | b | b := a ] ]";
 ast=$recv($globals.Smalltalk)._parse_(src);
 $recv($self.analyzer)._visit_(ast);
-$8=[$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
+$self._deny_($recv([$recv([$recv([$recv([$recv([$recv($recv([$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=3
 //>>excludeEnd("ctx");
-][0];
-$7=$recv($8)._last();
-$6=[$recv($7)._dagChildren()
+][0])._last())._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=2
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=2
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3)._scope()
+][0])._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__eq_eq($recv(ast)._scope());
-$self._deny_($1);
+][0]).__eq_eq($recv(ast)._scope()));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testScope2",{src:src,ast:ast})});
@@ -2940,54 +2892,43 @@ var src,ast;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$10,$9,$8,$7,$6,$5,$4,$3;
 src="foo | a | a + 1. [ [ | b | b := a ] ]";
 ast=$recv($globals.Smalltalk)._parse_(src);
 $recv($self.analyzer)._visit_(ast);
-$2=[$recv(ast)._scope()
+[$self._assert_equals_([$recv([$recv(ast)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._scopeLevel()
+][0])._scopeLevel()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scopeLevel"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($1,(1))
+][0],(1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$10=[$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
+$self._assert_equals_($recv($recv([$recv([$recv([$recv([$recv($recv([$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=3
 //>>excludeEnd("ctx");
-][0];
-$9=$recv($10)._last();
-$8=[$recv($9)._dagChildren()
+][0])._last())._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=2
 //>>excludeEnd("ctx");
-][0];
-$7=[$recv($8)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=2
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv($7)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=$recv($5)._scope();
-$3=$recv($4)._scopeLevel();
-$self._assert_equals_($3,(3));
+][0])._scope())._scopeLevel(),(3));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testScopeLevel",{src:src,ast:ast})});
@@ -3233,208 +3174,165 @@ var src,ast;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $7,$6,$5,$4,$3,$2,$1,$15,$14,$13,$12,$11,$10,$9,$16,$8,$27,$26,$25,$24,$23,$22,$21,$20,$19,$18,$17,$39,$38,$37,$36,$35,$34,$33,$32,$31,$30,$29,$42,$41,$40,$28;
 src="foo | a | a + 1. [ | b | b := a ]";
 ast=$recv($globals.Smalltalk)._parse_(src);
 $recv($self.analyzer)._visit_(ast);
-$7=[$recv(ast)._dagChildren()
+[$self._assert_([$recv([$recv([$recv([$recv([$recv([$recv([$recv(ast)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=2
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv($7)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=2
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4)._receiver()
+][0])._receiver()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["receiver"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3)._binding()
+][0])._binding()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["binding"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._isTempVar()
+][0])._isTempVar()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["isTempVar"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$15=[$recv(ast)._dagChildren()
+[$self._assert_([$recv([$recv([$recv($recv([$recv([$recv([$recv([$recv(ast)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=4
 //>>excludeEnd("ctx");
-][0];
-$14=[$recv($15)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=4
 //>>excludeEnd("ctx");
-][0];
-$13=[$recv($14)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=3
 //>>excludeEnd("ctx");
-][0];
-$12=[$recv($13)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=3
 //>>excludeEnd("ctx");
-][0];
-$11=$recv($12)._receiver();
-$10=[$recv($11)._binding()
+][0])._receiver())._binding()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["binding"]=2
 //>>excludeEnd("ctx");
-][0];
-$9=[$recv($10)._scope()
+][0])._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
 //>>excludeEnd("ctx");
-][0];
-$16=[$recv(ast)._scope()
+][0]).__eq_eq([$recv(ast)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=2
 //>>excludeEnd("ctx");
-][0];
-$8=[$recv($9).__eq_eq($16)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["=="]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_($8)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$27=[$recv(ast)._dagChildren()
+[$self._assert_($recv([$recv([$recv([$recv([$recv([$recv([$recv([$recv([$recv([$recv([$recv(ast)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=8
 //>>excludeEnd("ctx");
-][0];
-$26=[$recv($27)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=7
 //>>excludeEnd("ctx");
-][0];
-$25=[$recv($26)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=7
 //>>excludeEnd("ctx");
-][0];
-$24=[$recv($25)._last()
+][0])._last()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["last"]=1
 //>>excludeEnd("ctx");
-][0];
-$23=[$recv($24)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=6
 //>>excludeEnd("ctx");
-][0];
-$22=[$recv($23)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=6
 //>>excludeEnd("ctx");
-][0];
-$21=[$recv($22)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=5
 //>>excludeEnd("ctx");
-][0];
-$20=[$recv($21)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=5
 //>>excludeEnd("ctx");
-][0];
-$19=[$recv($20)._left()
+][0])._left()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["left"]=1
 //>>excludeEnd("ctx");
-][0];
-$18=[$recv($19)._binding()
+][0])._binding()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["binding"]=3
 //>>excludeEnd("ctx");
-][0];
-$17=$recv($18)._isTempVar();
-[$self._assert_($17)
+][0])._isTempVar())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:"]=3
 //>>excludeEnd("ctx");
 ][0];
-$39=[$recv(ast)._dagChildren()
+$self._assert_($recv([$recv($recv($recv([$recv([$recv([$recv([$recv([$recv([$recv([$recv([$recv(ast)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=12
 //>>excludeEnd("ctx");
-][0];
-$38=[$recv($39)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=10
 //>>excludeEnd("ctx");
-][0];
-$37=[$recv($38)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=11
 //>>excludeEnd("ctx");
-][0];
-$36=[$recv($37)._last()
+][0])._last()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["last"]=2
 //>>excludeEnd("ctx");
-][0];
-$35=[$recv($36)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=10
 //>>excludeEnd("ctx");
-][0];
-$34=[$recv($35)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=9
 //>>excludeEnd("ctx");
-][0];
-$33=[$recv($34)._dagChildren()
+][0])._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=9
 //>>excludeEnd("ctx");
-][0];
-$32=[$recv($33)._first()
+][0])._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=8
 //>>excludeEnd("ctx");
-][0];
-$31=$recv($32)._left();
-$30=$recv($31)._binding();
-$29=[$recv($30)._scope()
+][0])._left())._binding())._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=3
 //>>excludeEnd("ctx");
-][0];
-$42=[$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
+][0]).__eq_eq($recv($recv([$recv($recv($recv(ast)._dagChildren())._first())._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=13
 //>>excludeEnd("ctx");
-][0];
-$41=$recv($42)._last();
-$40=$recv($41)._scope();
-$28=$recv($29).__eq_eq($40);
-$self._assert_($28);
+][0])._last())._scope()));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testVariablesLookup",{src:src,ast:ast})});
@@ -3461,17 +3359,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$4,$2;
+var $1,$3,$2;
 $1=$recv($globals.AISemanticAnalyzer)._on_($globals.Object);
 $3=$recv($globals.AIContext)._new();
 $recv($3)._defineLocal_("local");
 $recv($3)._localAt_put_("local",(3));
-$4=[$recv($3)._yourself()
+$2=[$recv($3)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=$4;
 $recv($1)._context_($2);
 $self.analyzer=$recv($1)._yourself();
 return self;

+ 4 - 6
lang/src/Kernel-Announcements.js

@@ -398,7 +398,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$5,$6,$4,$2;
+var $1,$3,$5,$4,$2;
 $1=$self.subscriptions;
 $3=[$recv($globals.AnnouncementSubscription)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -408,12 +408,11 @@ $3=[$recv($globals.AnnouncementSubscription)._new()
 $5=$recv($globals.AnnouncementValuable)._new();
 $recv($5)._valuable_(aBlock);
 $recv($5)._receiver_(aReceiver);
-$6=[$recv($5)._yourself()
+$4=[$recv($5)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=$6;
 [$recv($3)._valuable_($4)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["valuable:"]=1
@@ -484,7 +483,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$5,$6,$4,$2;
+var $1,$3,$5,$4,$2;
 $1=$self.subscriptions;
 $3=[$recv($globals.AnnouncementSubscription)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -494,12 +493,11 @@ $3=[$recv($globals.AnnouncementSubscription)._new()
 $5=$recv($globals.MessageSend)._new();
 $recv($5)._receiver_(anObject);
 $recv($5)._selector_(aSelector);
-$6=[$recv($5)._yourself()
+$4=[$recv($5)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=$6;
 $recv($3)._valuable_($4);
 $recv($3)._announcementClass_(aClass);
 $2=$recv($3)._yourself();

+ 75 - 126
lang/src/Kernel-Classes.js

@@ -60,14 +60,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$self._allSuperclasses();
-$2=[$self._selectors()
+return $recv($self._allSuperclasses())._inject_into_([$self._selectors()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selectors"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._inject_into_($2,(function(acc,each){
+][0],(function(acc,each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -164,7 +161,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2,$receiver;
+var $1,$receiver;
 $1=[$self._superclass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["superclass"]=1
@@ -175,13 +172,11 @@ return [];
 } else {
 $1;
 }
-$3=[$self._superclass()
+return $recv($recv([$self._superclass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["superclass"]=2
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._allSuperclasses();
-return $recv($2)._copyWithFirst_($self._superclass());
+][0])._allSuperclasses())._copyWithFirst_($self._superclass());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"allSuperclasses",{})});
 //>>excludeEnd("ctx");
@@ -847,7 +842,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 return $recv($globals.String)._streamContents_((function(stream){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -872,17 +866,15 @@ $recv(stream)._printSymbol_($self._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=[$recv($globals.String)._tab()
+return [[$recv($globals.String)._tab()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["tab"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($globals.String)._lf()
+][0],"uses: ",tcd,[$recv($globals.String)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["lf"]=2
 //>>excludeEnd("ctx");
-][0];
-return [$1,"uses: ",tcd,$2];
+][0]];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({tcd:tcd},$ctx2,2)});
 //>>excludeEnd("ctx");
@@ -1095,13 +1087,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv("$globals.".__comma($recv($self._instanceClass())._name())).__comma(".a$cls")
+return [$recv("$globals.".__comma($recv($self._instanceClass())._name())).__comma(".a$cls")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{})});
 //>>excludeEnd("ctx");
@@ -1124,7 +1114,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 return $recv($globals.String)._streamContents_((function(stream){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -1137,17 +1126,15 @@ return " ";
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=[$recv($globals.String)._lf()
+return [[$recv($globals.String)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["lf"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($globals.String)._tab()
+][0],[$recv($globals.String)._tab()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["tab"]=1
 //>>excludeEnd("ctx");
-][0];
-return [$1,$2,"uses: ",tcd,$recv($globals.String)._lf(),$recv($globals.String)._tab()];
+][0],"uses: ",tcd,$recv($globals.String)._lf(),$recv($globals.String)._tab()];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({tcd:tcd},$ctx2,3)});
 //>>excludeEnd("ctx");
@@ -1726,44 +1713,39 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2,$4,$5,$6,$7,$8,$10,$9,$12,$11,$14,$15,$13,$16,$17,$18,$19;
+var $1,$2;
 $recv(anotherClass)._comment_($recv(aClass)._comment());
-$1=[$recv(aClass)._methodDictionary()
+[$recv([$recv(aClass)._methodDictionary()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodDictionary"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($1)._valuesDo_((function(each){
+][0])._valuesDo_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(each)._origin()
+$1=[$recv([$recv(each)._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["origin"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__eq(aClass)
+][0]).__eq(aClass)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=1
 //>>excludeEnd("ctx");
 ][0];
-if($core.assert($2)){
-$4=[$recv($globals.Compiler)._new()
+if($core.assert($1)){
+return [$recv([$recv($globals.Compiler)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv(each)._source()
+][0])._install_forClass_protocol_([$recv(each)._source()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["source"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv(each)._protocol()
+][0],anotherClass,[$recv(each)._protocol()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["protocol"]=1
 //>>excludeEnd("ctx");
-][0];
-return [$recv($4)._install_forClass_protocol_($5,anotherClass,$6)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["install:forClass:protocol:"]=1
 //>>excludeEnd("ctx");
@@ -1777,65 +1759,53 @@ return [$recv($4)._install_forClass_protocol_($5,anotherClass,$6)
 ,$ctx1.sendIdx["valuesDo:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$7=[$recv(aClass)._traitComposition()
+[$recv(anotherClass)._setTraitComposition_([$recv(aClass)._traitComposition()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["traitComposition"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv(anotherClass)._setTraitComposition_($7)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["setTraitComposition:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$8=[$recv(anotherClass)._class()
+$self._basicClass_instanceVariables_([$recv(anotherClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$10=[$recv(aClass)._class()
+][0],$recv([$recv(aClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=2
 //>>excludeEnd("ctx");
-][0];
-$9=$recv($10)._instanceVariableNames();
-$self._basicClass_instanceVariables_($8,$9);
-$12=[$recv(aClass)._class()
+][0])._instanceVariableNames());
+$recv($recv([$recv(aClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=3
 //>>excludeEnd("ctx");
-][0];
-$11=$recv($12)._methodDictionary();
-$recv($11)._valuesDo_((function(each){
+][0])._methodDictionary())._valuesDo_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$14=$recv(each)._origin();
-$15=[$recv(aClass)._class()
+$2=$recv($recv(each)._origin()).__eq([$recv(aClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["class"]=4
 //>>excludeEnd("ctx");
-][0];
-$13=$recv($14).__eq($15);
-if($core.assert($13)){
-$16=$recv($globals.Compiler)._new();
-$17=$recv(each)._source();
-$18=[$recv(anotherClass)._class()
+][0]);
+if($core.assert($2)){
+return $recv($recv($globals.Compiler)._new())._install_forClass_protocol_($recv(each)._source(),[$recv(anotherClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["class"]=5
 //>>excludeEnd("ctx");
-][0];
-return $recv($16)._install_forClass_protocol_($17,$18,$recv(each)._protocol());
+][0],$recv(each)._protocol());
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)});
 //>>excludeEnd("ctx");
 }));
-$19=[$recv(anotherClass)._class()
+$recv([$recv(anotherClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=6
 //>>excludeEnd("ctx");
-][0];
-$recv($19)._setTraitComposition_($recv($recv(aClass)._class())._traitComposition());
+][0])._setTraitComposition_($recv($recv(aClass)._class())._traitComposition());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,anotherClass:anotherClass})});
@@ -1859,13 +1829,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv(aClass)._name()
+return $self._migrateClassNamed_superclass_instanceVariableNames_package_([$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-return $self._migrateClassNamed_superclass_instanceVariableNames_package_($1,anotherClass,$recv(aClass)._instanceVariableNames(),$recv($recv(aClass)._package())._name());
+][0],anotherClass,$recv(aClass)._instanceVariableNames(),$recv($recv(aClass)._package())._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass})});
 //>>excludeEnd("ctx");
@@ -2084,20 +2052,18 @@ var root,members;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5,$7,$6,$8,$receiver;
+var $1,$3,$2,$receiver;
 root=[nil,[]];
 members=$recv($globals.HashedCollection)._new();
 [$recv(aCollection)._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=members;
-$2=[$recv(each)._name()
+return $recv(members)._at_put_([$recv(each)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._at_put_($2,[each,[]]);
+][0],[each,[]]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -2110,17 +2076,15 @@ $recv($recv($recv(aCollection)._asArray())._sorted_((function(a,b){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(a)._name()
+return $recv([$recv(a)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=2
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv(b)._name()
+][0]).__lt_eq([$recv(b)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=3
 //>>excludeEnd("ctx");
-][0];
-return $recv($3).__lt_eq($4);
+][0]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,2)});
 //>>excludeEnd("ctx");
@@ -2129,29 +2093,28 @@ var target;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$5=members;
-$7=$recv(each)._superclass();
-if(($receiver = $7) == null || $receiver.a$nil){
-$6=$7;
+$1=members;
+$3=$recv(each)._superclass();
+if(($receiver = $3) == null || $receiver.a$nil){
+$2=$3;
 } else {
 var superklass;
 superklass=$receiver;
-$6=[$recv(superklass)._name()
+$2=[$recv(superklass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=4
 //>>excludeEnd("ctx");
 ][0];
 }
-target=$recv($5)._at_ifAbsent_($6,(function(){
+target=$recv($1)._at_ifAbsent_($2,(function(){
 return root;
 
 }));
-$8=[$recv(target)._second()
+return $recv([$recv(target)._second()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["second"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($8)._add_($recv(members)._at_($recv(each)._name()));
+][0])._add_($recv(members)._at_($recv(each)._name()));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each,target:target},$ctx1,3)});
 //>>excludeEnd("ctx");
@@ -2565,17 +2528,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
+var $receiver;
 if(($receiver = aMethod) == null || $receiver.a$nil){
 aMethod;
 } else {
-$1=$self._organization();
-$2=[$recv(aMethod)._protocol()
+$recv($self._organization())._addElement_([$recv(aMethod)._protocol()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["protocol"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._addElement_($2);
+][0]);
 }
 if(($receiver = oldMethod) == null || $receiver.a$nil){
 oldMethod;
@@ -2766,7 +2727,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($recv($self._ownProtocols())._inject_into_($recv($globals.OrderedCollection)._new(),(function(acc,each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -2779,12 +2739,11 @@ return $recv(acc).__comma($self._ownMethodsInProtocol_(each));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(a)._selector()
+return $recv([$recv(a)._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__lt_eq($recv(b)._selector());
+][0]).__lt_eq($recv(b)._selector());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,2)});
 //>>excludeEnd("ctx");
@@ -3530,13 +3489,12 @@ var oldPackage;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3,$5,$4;
-$2=[$self._package()
+var $1,$2,$4,$3;
+$1=$recv([$self._package()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["package"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__eq(aPackage);
+][0]).__eq(aPackage);
 if($core.assert($1)){
 return self;
 }
@@ -3544,12 +3502,12 @@ oldPackage=$self._package();
 $self._leaveOrganization();
 $self._basicAt_put_("category",$recv(aPackage)._name());
 $self._enterOrganization();
-$3=$recv($globals.SystemAnnouncer)._current();
-$5=$recv($globals.ClassMoved)._new();
-$recv($5)._theClass_(self);
-$recv($5)._oldPackage_(oldPackage);
-$4=$recv($5)._yourself();
-$recv($3)._announce_($4);
+$2=$recv($globals.SystemAnnouncer)._current();
+$4=$recv($globals.ClassMoved)._new();
+$recv($4)._theClass_(self);
+$recv($4)._oldPackage_(oldPackage);
+$3=$recv($4)._yourself();
+$recv($2)._announce_($3);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage,oldPackage:oldPackage})});
@@ -3759,7 +3717,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($globals.String)._streamContents_((function(stream){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -3779,12 +3736,11 @@ $recv(stream)._printSymbol_($self._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=[$recv($globals.String)._tab()
+return [[$recv($globals.String)._tab()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["tab"]=1
 //>>excludeEnd("ctx");
-][0];
-return [$1,"uses: ",tcd,$recv($globals.String)._lf()];
+][0],"uses: ",tcd,$recv($globals.String)._lf()];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({tcd:tcd},$ctx2,2)});
 //>>excludeEnd("ctx");
@@ -4103,17 +4059,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$3,$1;
 return $recv($globals.String)._streamContents_((function(str){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$recv($self._trait())._asJavaScriptSource()
+return $recv(str)._write_(["{trait: ",[$recv($self._trait())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["asJavaScriptSource"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($self._aliases())._ifNotEmpty_((function(al){
+][0],[$recv($self._aliases())._ifNotEmpty_((function(al){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -4125,8 +4079,7 @@ return [", aliases: ",$recv(al)._asJSONString()];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["ifNotEmpty:"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=["{trait: ",$2,$3,$recv($self._exclusions())._ifNotEmpty_((function(ex){
+][0],$recv($self._exclusions())._ifNotEmpty_((function(ex){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -4134,8 +4087,7 @@ return [", exclusions: ",$recv($recv($recv(ex)._asArray())._sorted())._asJavaScr
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({ex:ex},$ctx2,3)});
 //>>excludeEnd("ctx");
-})),"}"];
-return $recv(str)._write_($1);
+})),"}"]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({str:str},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -4441,7 +4393,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$4,$3,$2;
+var $1;
 $1=[(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -4452,17 +4404,14 @@ $ctx1.supercall = true,
 //>>excludeEnd("ctx");
 ][0];
 $recv($1)._trait_($recv(aJSObject)._at_("trait"));
-$4=[$recv(aJSObject)._at_ifAbsent_("aliases",(function(){
+$recv($1)._addAliases_($recv($recv($globals.Smalltalk)._readJSObject_([$recv(aJSObject)._at_ifAbsent_("aliases",(function(){
 return $globals.HashedCollection._newFromPairs_([]);
 
 }))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["at:ifAbsent:"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($globals.Smalltalk)._readJSObject_($4);
-$2=$recv($3)._associations();
-$recv($1)._addAliases_($2);
+][0]))._associations());
 $recv($1)._addExclusions_($recv(aJSObject)._at_ifAbsent_("exclusions",(function(){
 return [];
 

+ 115 - 192
lang/src/Kernel-Collections.js

@@ -24,41 +24,35 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$5,$4,$6,$1;
-$3=[$self._class()
+return [$recv([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__eq($recv(anAssociation)._class())
+][0]).__eq($recv(anAssociation)._class())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$5=[$self._key()
+return $recv([$recv([$self._key()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["key"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5).__eq($recv(anAssociation)._key())
+][0]).__eq($recv(anAssociation)._key())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=2
 //>>excludeEnd("ctx");
-][0];
-return $recv($4)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$6=[$self._value()
+return $recv([$self._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["value"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($6).__eq($recv(anAssociation)._value());
+][0]).__eq($recv(anAssociation)._value());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)});
 //>>excludeEnd("ctx");
@@ -71,7 +65,6 @@ return $recv($6).__eq($recv(anAssociation)._value());
 ,$ctx1.sendIdx["and:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"=",{anAssociation:anAssociation})});
 //>>excludeEnd("ctx");
@@ -1266,19 +1259,18 @@ var set,outputSet;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
+var $1;
 set=$self._asSet();
 outputSet=$recv($globals.Set)._new();
 $recv(aCollection)._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$recv(set)._includes_(each)
+$1=$recv([$recv(set)._includes_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["includes:"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -1921,13 +1913,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3,$5;
-$2=[$self._class()
+var $1,$2;
+$1=[$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__eq($recv(anAssocitativeCollection)._class())
+][0]).__eq($recv(anAssocitativeCollection)._class())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
@@ -1935,25 +1926,23 @@ $1=[$recv($2).__eq($recv(anAssocitativeCollection)._class())
 if(!$core.assert($1)){
 return false;
 }
-$4=[$self._size()
+$2=[$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__eq($recv(anAssocitativeCollection)._size())
+][0]).__eq($recv(anAssocitativeCollection)._size())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=2
 //>>excludeEnd("ctx");
 ][0];
-if(!$core.assert($3)){
+if(!$core.assert($2)){
 return false;
 }
-$5=[$self._associations()
+return $recv([$self._associations()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["associations"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($5).__eq($recv(anAssocitativeCollection)._associations());
+][0]).__eq($recv(anAssocitativeCollection)._associations());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"=",{anAssocitativeCollection:anAssocitativeCollection})});
 //>>excludeEnd("ctx");
@@ -2970,13 +2959,12 @@ var newCollection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3,$4;
-$2=[$recv(aCollection)._size()
+var $1;
+$1=$recv([$recv(aCollection)._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._even();
+][0])._even();
 if(!$core.assert($1)){
 $self._error_("#newFromPairs only accepts arrays of an even length");
 }
@@ -2985,13 +2973,11 @@ $recv((1)._to_by_($recv(aCollection)._size(),(2)))._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=newCollection;
-$4=[$recv(aCollection)._at_(each)
+return $recv(newCollection)._at_put_([$recv(aCollection)._at_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["at:"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($3)._at_put_($4,$recv(aCollection)._at_($recv(each).__plus((1))));
+][0],$recv(aCollection)._at_($recv(each).__plus((1))));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
 //>>excludeEnd("ctx");
@@ -3388,7 +3374,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($globals.String)._streamContents_((function(str){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -3402,12 +3387,11 @@ $self._keysAndValuesDo_((function(key,value){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=[$recv(key)._asJavaScriptSource()
+[$recv(str)._nextPutAll_([$recv(key)._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["asJavaScriptSource"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv(str)._nextPutAll_($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["nextPutAll:"]=1
 //>>excludeEnd("ctx");
@@ -3677,29 +3661,26 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$4,$1,$5;
+var $1,$2;
 var $early={};
 try {
-$3=[$self._class()
+$1=$recv([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__eq($recv(aCollection)._class())
+][0]).__eq($recv(aCollection)._class())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=[$self._size()
+return [$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-return [$recv($4).__eq($recv(aCollection)._size())
+][0]).__eq($recv(aCollection)._size())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=2
 //>>excludeEnd("ctx");
@@ -3715,8 +3696,8 @@ $self._withIndexDo_((function(each,i){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$5=$recv($recv(aCollection)._at_(i)).__eq(each);
-if(!$core.assert($5)){
+$2=$recv($recv(aCollection)._at_(i)).__eq(each);
+if(!$core.assert($2)){
 throw $early=[false];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3864,18 +3845,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$3,$1;
-$2=[$self._size()
+var $1;
+$1=$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv(prefix)._size()
+][0]).__lt([$recv(prefix)._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=2
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__lt($3);
+][0]);
 if($core.assert($1)){
 return false;
 }
@@ -3952,18 +3931,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$3,$1;
-$2=[$self._size()
+var $1;
+$1=$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv(suffix)._size()
+][0]).__lt([$recv(suffix)._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=2
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__lt($3);
+][0]);
 if($core.assert($1)){
 return false;
 }
@@ -4163,24 +4140,20 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$5,$4,$3;
-$2=[$self._size()
+var $1;
+$1=$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__lt(aNumber);
+][0]).__lt(aNumber);
 if($core.assert($1)){
 $self._error_("Invalid number of elements");
 }
-$5=[$self._size()
+return $self._copyFrom_to_($recv($recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=2
 //>>excludeEnd("ctx");
-][0];
-$4=$recv($5).__minus(aNumber);
-$3=$recv($4).__plus((1));
-return $self._copyFrom_to_($3,$self._size());
+][0]).__minus(aNumber)).__plus((1)),$self._size());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"last:",{aNumber:aNumber})});
 //>>excludeEnd("ctx");
@@ -4560,8 +4533,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv("[".__comma($recv($self._collect_((function(each){
+return [$recv("[".__comma($recv($self._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -4574,7 +4546,6 @@ return $recv(each)._asJavaScriptSource();
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{})});
 //>>excludeEnd("ctx");
@@ -5861,7 +5832,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2;
+var $1;
 $1=$recv($recv(anObject)._isString())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -5872,17 +5843,15 @@ return $recv($recv(anObject)._size()).__eq((1));
 //>>excludeEnd("ctx");
 }));
 if(!$core.assert($1)){
-$3=["Cannot put ".__comma($recv($recv(anObject)._class())._name())
+$self._error_([$recv(["Cannot put ".__comma($recv($recv(anObject)._class())._name())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma(" in a String")
+][0]).__comma(" in a String")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$self._error_($2);
+][0]);
 }
 return $recv(anObject).__comma(self);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -6025,14 +5994,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$self._first()
+return $recv($recv([$self._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._asUppercase();
-return $recv($1).__eq_eq($self._first());
+][0])._asUppercase()).__eq_eq($self._first());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"isCapitalized",{})});
 //>>excludeEnd("ctx");
@@ -6198,7 +6164,7 @@ var cr,lf,start,sz,nextLF,nextCR;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$5,$3,$6,$7,$9,$8,$10,$11;
+var $1,$2,$3;
 var $early={};
 try {
 start=(1);
@@ -6227,12 +6193,11 @@ return $recv(start).__lt_eq(sz);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$recv(nextLF).__eq((0))
+$1=[$recv([$recv(nextLF).__eq((0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -6257,21 +6222,19 @@ if($core.assert($1)){
 ][0];
 throw $early=[self];
 }
-$4=[$recv(nextCR).__eq((0))
+$2=$recv([$recv(nextCR).__eq((0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=3
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._or_((function(){
+][0])._or_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$5=[(0).__lt(nextLF)
+return $recv([(0).__lt(nextLF)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["<"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($5)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
 //>>excludeEnd("ctx");
@@ -6284,14 +6247,12 @@ return $recv(nextLF).__lt(nextCR);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,5)});
 //>>excludeEnd("ctx");
 }));
-if($core.assert($3)){
-$6=start;
-$7=[$recv(nextLF).__minus((1))
+if($core.assert($2)){
+[$recv(aBlock)._value_value_value_(start,[$recv(nextLF).__minus((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["-"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv(aBlock)._value_value_value_($6,$7,nextLF)
+][0],nextLF)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value:value:value:"]=2
 //>>excludeEnd("ctx");
@@ -6308,20 +6269,17 @@ nextLF=[$self._indexOf_startingAt_(lf,start)
 ][0];
 return nextLF;
 } else {
-$9=[(1).__plus(nextCR)
+$3=$recv([(1).__plus(nextCR)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["+"]=2
 //>>excludeEnd("ctx");
-][0];
-$8=$recv($9).__eq(nextLF);
-if($core.assert($8)){
-$10=start;
-$11=[$recv(nextCR).__minus((1))
+][0]).__eq(nextLF);
+if($core.assert($3)){
+[$recv(aBlock)._value_value_value_(start,[$recv(nextCR).__minus((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["-"]=2
 //>>excludeEnd("ctx");
-][0];
-[$recv(aBlock)._value_value_value_($10,$11,nextLF)
+][0],nextLF)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value:value:value:"]=3
 //>>excludeEnd("ctx");
@@ -6887,14 +6845,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv("^[".__comma(separators)).__comma("]+")
+return $self._replaceRegexp_with_($recv($globals.RegularExpression)._fromString_flag_([$recv("^[".__comma(separators)).__comma("]+")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($globals.RegularExpression)._fromString_flag_($2,"g");
-return $self._replaceRegexp_with_($1,"");
+][0],"g"),"");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"trimLeft:",{separators:separators})});
 //>>excludeEnd("ctx");
@@ -6940,14 +6895,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv("[".__comma(separators)).__comma("]+$")
+return $self._replaceRegexp_with_($recv($globals.RegularExpression)._fromString_flag_([$recv("[".__comma(separators)).__comma("]+$")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($globals.RegularExpression)._fromString_flag_($2,"g");
-return $self._replaceRegexp_with_($1,"");
+][0],"g"),"");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"trimRight:",{separators:separators})});
 //>>excludeEnd("ctx");
@@ -7410,15 +7362,14 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3,$5;
+var $1,$2,$3;
 var $early={};
 try {
-$2=[$self._class()
+$1=[$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__eq($recv(aCollection)._class())
+][0]).__eq($recv(aCollection)._class())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
@@ -7426,21 +7377,20 @@ $1=[$recv($2).__eq($recv(aCollection)._class())
 if(!$core.assert($1)){
 return false;
 }
-$4=[$self._size()
+$2=$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4).__eq($recv(aCollection)._size());
-if(!$core.assert($3)){
+][0]).__eq($recv(aCollection)._size());
+if(!$core.assert($2)){
 return false;
 }
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$5=$recv(aCollection)._includes_(each);
-if(!$core.assert($5)){
+$3=$recv(aCollection)._includes_(each);
+if(!$core.assert($3)){
 throw $early=[false];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -7684,17 +7634,15 @@ var bucket;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$receiver;
+var $1,$receiver;
 bucket=$self._bucketsOfElement_(anObject);
 $1=$recv(bucket)._second();
 if(($receiver = $1) == null || $receiver.a$nil){
-$2=$recv(bucket)._third();
-$3=[$recv(bucket)._first()
+return $recv($recv(bucket)._third())._includes_([$recv(bucket)._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["first"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($2)._includes_($3);
+][0]);
 } else {
 var primitiveBucket;
 primitiveBucket=$receiver;
@@ -7781,8 +7729,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($globals.ArrayBucketStore)._hashBlock_((function(x){
+$self.slowBucketStores=[[$recv($globals.ArrayBucketStore)._hashBlock_((function(x){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -7794,8 +7741,7 @@ return $self._classNameOf_(x);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["hashBlock:"]=1
 //>>excludeEnd("ctx");
-][0];
-$self.slowBucketStores=[$1,$recv($globals.ArrayBucketStore)._hashBlock_((function(x){
+][0],$recv($globals.ArrayBucketStore)._hashBlock_((function(x){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -8735,18 +8681,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2;
+var $1;
 $1=$self._atEnd();
 if($core.assert($1)){
 return nil;
 } else {
-$3=[$self._position()
+$self._position_($recv([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3).__plus((1));
-$self._position_($2);
+][0]).__plus((1)));
 return $recv($self.collection)._at_($self._position());
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -8809,21 +8753,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3,$4;
-$2=[$self._position()
+$self._position_($recv([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__plus((1));
-$self._position_($1);
-$3=$self._collection();
-$4=[$self._position()
+][0]).__plus((1)));
+$recv($self._collection())._at_put_([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=2
 //>>excludeEnd("ctx");
-][0];
-$recv($3)._at_put_($4,anObject);
+][0],anObject);
 $self._setStreamSize_($recv($self._streamSize())._max_($self._position()));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -9266,100 +9205,84 @@ var pre,post;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$4,$3,$1,$6,$5,$7,$8,$9,$12,$11,$13,$10,$14,$15,$17,$16;
-$2=[$self._position()
+var $1;
+$1=$recv([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$self._collection()
+][0]).__eq([$recv([$self._collection()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["collection"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4)._size()
+][0])._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__eq($3);
+][0]);
 if($core.assert($1)){
-$6=[$self._collection()
+[$self._setCollection_([$recv([$self._collection()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["collection"]=2
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6).__comma(aString)
+][0]).__comma(aString)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._setCollection_($5)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["setCollection:"]=1
 //>>excludeEnd("ctx");
 ][0];
 } else {
-$7=[$self._collection()
+pre=[$recv([$self._collection()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["collection"]=3
 //>>excludeEnd("ctx");
-][0];
-$8=[$self._position()
+][0])._copyFrom_to_((1),[$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=2
 //>>excludeEnd("ctx");
-][0];
-pre=[$recv($7)._copyFrom_to_((1),$8)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["copyFrom:to:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$9=[$self._collection()
+post=$recv([$self._collection()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["collection"]=4
 //>>excludeEnd("ctx");
-][0];
-$12=[$self._position()
+][0])._copyFrom_to_([$recv([$recv([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=3
 //>>excludeEnd("ctx");
-][0];
-$11=[$recv($12).__plus((1))
+][0]).__plus((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["+"]=2
 //>>excludeEnd("ctx");
-][0];
-$13=[$recv(aString)._size()
+][0]).__plus([$recv(aString)._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=2
 //>>excludeEnd("ctx");
-][0];
-$10=[$recv($11).__plus($13)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["+"]=1
 //>>excludeEnd("ctx");
-][0];
-$14=[$recv($self._collection())._size()
+][0],[$recv($self._collection())._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=3
 //>>excludeEnd("ctx");
-][0];
-post=$recv($9)._copyFrom_to_($10,$14);
-$15=[$recv($recv(pre).__comma(aString)).__comma(post)
+][0]);
+$self._setCollection_([$recv($recv(pre).__comma(aString)).__comma(post)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$self._setCollection_($15);
+][0]);
 }
-$17=[$self._position()
+$self._position_($recv([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=4
 //>>excludeEnd("ctx");
-][0];
-$16=$recv($17).__plus($recv(aString)._size());
-$self._position_($16);
+][0]).__plus($recv(aString)._size()));
 $self._setStreamSize_($recv($self._streamSize())._max_($self._position()));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);

+ 2 - 4
lang/src/Kernel-Dag.js

@@ -381,13 +381,11 @@ var allNodes;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._dagChildren()
+allNodes=$recv([$self._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["dagChildren"]=1
 //>>excludeEnd("ctx");
-][0];
-allNodes=$recv($1)._asSet();
+][0])._asSet();
 $recv($self._dagChildren())._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {

+ 9 - 19
lang/src/Kernel-Exceptions.js

@@ -366,22 +366,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
 return $recv(aContext)._findContextSuchThat_((function(one){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(one)._receiver()
+return $recv($recv([$recv([$recv(one)._receiver()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["receiver"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__eq_eq(self)
+][0]).__eq_eq(self)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["=="]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._or_((function(){
+][0])._or_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -389,8 +386,7 @@ return $recv($recv(one)._receiver()).__eq_eq($self._class());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)});
 //>>excludeEnd("ctx");
-}));
-return $recv($1)._not();
+})))._not();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({one:one},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -528,22 +524,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
 return $recv(aContext)._findContextSuchThat_((function(one){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(one)._receiver()
+return $recv([$recv([$recv([$recv(one)._receiver()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["receiver"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__eq_eq(self)
+][0]).__eq_eq(self)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["=="]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._or_((function(){
+][0])._or_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -563,8 +556,7 @@ return $recv($recv($recv(one)._method())._selector()).__eq("halt");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["or:"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._not();
+][0])._not();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({one:one},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -754,13 +746,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($recv($recv($self._receiver())._asString()).__comma(" does not understand #")).__comma($recv($self._message())._selector())
+return [$recv($recv($recv($self._receiver())._asString()).__comma(" does not understand #")).__comma($recv($self._message())._selector())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"messageText",{})});
 //>>excludeEnd("ctx");

+ 50 - 74
lang/src/Kernel-Infrastructure.js

@@ -129,13 +129,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv(anObject)._class()
+var $1;
+$1=$recv([$recv(anObject)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__eq_eq($self._class());
+][0]).__eq_eq($self._class());
 if(!$core.assert($1)){
 return false;
 }
@@ -309,12 +308,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $1=$recv($globals.NativeFunction)._isNativeFunction_($self._at_("then"));
 if($core.assert($1)){
 return $recv($recv($globals.TThenable).__gt_gt("catch:"))._sendTo_arguments_($self.jsObject,[aBlock]);
 } else {
-$2=[(
+return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -323,7 +322,6 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-return $2;
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -457,12 +455,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $1=$recv($globals.NativeFunction)._isNativeFunction_($self._at_("then"));
 if($core.assert($1)){
 return $recv($recv($globals.TThenable).__gt_gt("on:do:"))._sendTo_arguments_($self.jsObject,[aClass,aBlock]);
 } else {
-$2=[(
+return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -471,7 +469,6 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-return $2;
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -597,12 +594,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $1=$recv($globals.NativeFunction)._isNativeFunction_($self._at_("then"));
 if($core.assert($1)){
 return $recv($recv($globals.TThenable).__gt_gt("then:"))._sendTo_arguments_($self.jsObject,[aBlockOrArray]);
 } else {
-$2=[(
+return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -611,7 +608,6 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-return $2;
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1260,17 +1256,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($globals.String)._streamContents_((function(stream){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv($self._class())._name()
+[$recv(stream)._write_([$recv($self._class())._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv(stream)._write_($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["write:"]=1
 //>>excludeEnd("ctx");
@@ -1821,14 +1815,13 @@ var starCategoryName;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
+var $1;
 starCategoryName="*".__comma($self._name());
-$3=[$self._classes()
+$1=$recv([$recv([$self._classes()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["classes"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3)._collect_((function(each){
+][0])._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1840,8 +1833,7 @@ return $recv(each)._superclass();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["collect:"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._asSet();
+][0])._asSet();
 [$recv($1)._addAll_($recv($recv($globals.Smalltalk)._classes())._select_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -2075,43 +2067,35 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$4,$1,$6,$5,$7;
 return $recv($recv($self._imports())._asArray())._sorted_((function(a,b){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(a)._isString()
+return $recv($recv($recv([$recv(a)._isString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["isString"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._not();
-$4=[$recv(b)._isString()
+][0])._not()).__and([$recv(b)._isString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["isString"]=2
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__and($4);
-return $recv($1)._or_((function(){
+][0]))._or_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$6=[$recv(a)._isString()
+return $recv($recv([$recv(a)._isString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["isString"]=3
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6).__eq($recv(b)._isString());
-return $recv($5)._and_((function(){
+][0]).__eq($recv(b)._isString()))._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
 //>>excludeEnd("ctx");
-$7=[$recv(a)._value()
+return $recv([$recv(a)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx4.sendIdx["value"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($7).__lt_eq($recv(b)._value());
+][0]).__lt_eq($recv(b)._value());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx4) {$ctx4.fillBlock({},$ctx3,3)});
 //>>excludeEnd("ctx");
@@ -2251,7 +2235,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$5,$4,$3,$6;
+var $1,$2,$3,$4;
 $recv(aCollection)._do_((function(import_){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -2270,17 +2254,15 @@ if(!$core.assert($2)){
 //>>excludeEnd("ctx");
 ][0];
 }
-$5=[$recv(import_)._key()
+$3=$recv([$recv([$recv(import_)._key()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["key"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5)._isString()
+][0])._isString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["isString"]=2
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4).__and($recv($recv(import_)._value())._isString());
+][0]).__and($recv($recv(import_)._value())._isString());
 if(!$core.assert($3)){
 [$self._error_("Key and value must be Strings")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -2288,8 +2270,8 @@ if(!$core.assert($3)){
 //>>excludeEnd("ctx");
 ][0];
 }
-$6=$recv($recv(import_)._key())._match_("^[a-zA-Z][a-zA-Z0-9]*$");
-if(!$core.assert($6)){
+$4=$recv($recv(import_)._key())._match_("^[a-zA-Z][a-zA-Z0-9]*$");
+if(!$core.assert($4)){
 return $self._error_("Keys must be identifiers");
 }
 }
@@ -3692,15 +3674,14 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$5,$4,$6,$3,$7,$9,$8;
+var $1,$2,$4,$3;
 $1=$recv(aClass)._isMetaclass();
 if($core.assert($1)){
-$2=[$recv($recv(aClass)._asString()).__comma(" is a Metaclass and cannot be removed!")
+[$self._error_([$recv($recv(aClass)._asString()).__comma(" is a Metaclass and cannot be removed!")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._error_($2)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["error:"]=1
 //>>excludeEnd("ctx");
@@ -3710,27 +3691,23 @@ $recv(aClass)._allSubclassesDo_((function(subclass){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$5=[$recv(aClass)._name()
+return [$self._error_([$recv([$recv([$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5).__comma(" has a subclass: ")
+][0]).__comma(" has a subclass: ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=3
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv(subclass)._name()
+][0]).__comma([$recv(subclass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=2
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__comma($6)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-return [$self._error_($3)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["error:"]=2
 //>>excludeEnd("ctx");
@@ -3758,11 +3735,11 @@ return $recv(each)._setTraitComposition_([]);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,4)});
 //>>excludeEnd("ctx");
 }));
-$7=$recv($globals.SystemAnnouncer)._current();
-$9=$recv($globals.ClassRemoved)._new();
-$recv($9)._theClass_(aClass);
-$8=$recv($9)._yourself();
-$recv($7)._announce_($8);
+$2=$recv($globals.SystemAnnouncer)._current();
+$4=$recv($globals.ClassRemoved)._new();
+$recv($4)._theClass_(aClass);
+$3=$recv($4)._yourself();
+$recv($2)._announce_($3);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"removeClass:",{aClass:aClass})});
@@ -3830,17 +3807,16 @@ var pkg;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 pkg=$self._packageAt_ifAbsent_(packageName,(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=["Missing package: ".__comma(packageName)
+return [$self._error_(["Missing package: ".__comma(packageName)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-return [$self._error_($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["error:"]=1
 //>>excludeEnd("ctx");
@@ -3858,12 +3834,12 @@ return $self._error_("Already exists a package called: ".__comma(newName));
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 //>>excludeEnd("ctx");
 }));
-$2=pkg;
-$recv($2)._name_(newName);
-$recv($2)._beDirty();
-$3=$self._packageDictionary();
-$recv($3)._at_put_(newName,pkg);
-$recv($3)._removeKey_(packageName);
+$1=pkg;
+$recv($1)._name_(newName);
+$recv($1)._beDirty();
+$2=$self._packageDictionary();
+$recv($2)._at_put_(newName,pkg);
+$recv($2)._removeKey_(packageName);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"renamePackage:to:",{packageName:packageName,newName:newName,pkg:pkg})});

+ 48 - 63
lang/src/Kernel-Methods.js

@@ -896,110 +896,103 @@ var result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$6,$7,$5,$3,$10,$9,$12,$11,$8,$14,$16,$15,$13,$17,$receiver;
+var $1,$3,$5,$4,$2,$6,$8,$10,$9,$7,$receiver;
 result=[$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=[$self._methodClass()
+$1=[$recv([$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodClass"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__eq(aClass)
+][0]).__eq(aClass)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
 ][0];
 if(!$core.assert($1)){
-$4=[$recv(result).__comma(" (")
+$3=[$recv(result).__comma(" (")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=3
 //>>excludeEnd("ctx");
 ][0];
-$6=[$self._methodClass()
+$5=[$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodClass"]=2
 //>>excludeEnd("ctx");
 ][0];
-if(($receiver = $6) == null || $receiver.a$nil){
-$5="nil";
+if(($receiver = $5) == null || $receiver.a$nil){
+$4="nil";
 } else {
-$7=[$self._methodClass()
+$4=[$recv([$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodClass"]=3
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($7)._name()
+][0])._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=2
 //>>excludeEnd("ctx");
 ][0];
 }
-$3=[$recv($4).__comma($5)
+$2=[$recv($3).__comma($4)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
 ][0];
-result=[$recv($3).__comma(")")
+result=[$recv($2).__comma(")")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
 result;
 }
-$10=[$self._origin()
+$6=$recv([$recv([$self._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=1
 //>>excludeEnd("ctx");
-][0];
-$9=[$recv($10).__eq(aClass)
+][0]).__eq(aClass)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=2
 //>>excludeEnd("ctx");
-][0];
-$12=[$self._origin()
+][0]).__or($recv([$self._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=2
 //>>excludeEnd("ctx");
-][0];
-$11=$recv($12).__eq($self._methodClass());
-$8=$recv($9).__or($11);
-if(!$core.assert($8)){
-$14=[$recv(result).__comma(" /")
+][0]).__eq($self._methodClass()));
+if(!$core.assert($6)){
+$8=[$recv(result).__comma(" /")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=6
 //>>excludeEnd("ctx");
 ][0];
-$16=[$self._origin()
+$10=[$self._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=3
 //>>excludeEnd("ctx");
 ][0];
-if(($receiver = $16) == null || $receiver.a$nil){
-$15="nil";
+if(($receiver = $10) == null || $receiver.a$nil){
+$9="nil";
 } else {
-$15=$recv($self._origin())._name();
+$9=$recv($self._origin())._name();
 }
-$13=[$recv($14).__comma($15)
+$7=[$recv($8).__comma($9)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=5
 //>>excludeEnd("ctx");
 ][0];
-result=[$recv($13).__comma("/")
+result=[$recv($7).__comma("/")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=4
 //>>excludeEnd("ctx");
 ][0];
 result;
 }
-$17=[$recv($recv(result).__comma(" >> ")).__comma($recv($self._selector())._symbolPrintString())
+return [$recv($recv(result).__comma(" >> ")).__comma($recv($self._selector())._symbolPrintString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=7
 //>>excludeEnd("ctx");
 ][0];
-return $17;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"asStringForClass:",{aClass:aClass,result:result})});
 //>>excludeEnd("ctx");
@@ -1230,22 +1223,21 @@ var superclass;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
-$1=[$self._methodClass()
+var $1,$receiver;
+superclass=[$recv([$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodClass"]=1
 //>>excludeEnd("ctx");
-][0];
-superclass=[$recv($1)._superclass()
+][0])._superclass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["superclass"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=superclass;
-if(($receiver = $2) == null || $receiver.a$nil){
+$1=superclass;
+if(($receiver = $1) == null || $receiver.a$nil){
 return false;
 } else {
-$2;
+$1;
 }
 return $recv($recv($recv($self._methodClass())._superclass())._lookupSelector_($self._selector()))._notNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3326,22 +3318,21 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$receiver;
+var $1,$2,$receiver;
 $1=$self._isBlockContext();
 if($core.assert($1)){
-$2=["a block (in ".__comma($recv($self._methodContext())._asString())
+return [$recv(["a block (in ".__comma($recv($self._methodContext())._asString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-return [$recv($2).__comma(")")
+][0]).__comma(")")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
 } else {
-$3=$self._method();
-if(($receiver = $3) == null || $receiver.a$nil){
+$2=$self._method();
+if(($receiver = $2) == null || $receiver.a$nil){
 return "missing method ".__comma($recv($self._selector())._symbolPrintString());
 } else {
 var method;
@@ -3543,7 +3534,7 @@ var method,lookupClass,receiverClass,supercall;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2,$4,$6,$5,$7,$8,$receiver;
+var $1,$2,$3,$receiver;
 $1=[$self._methodContext()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodContext"]=1
@@ -3554,39 +3545,34 @@ return nil;
 } else {
 $1;
 }
-$3=[$self._methodContext()
+receiverClass=$recv($recv([$self._methodContext()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodContext"]=2
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._receiver();
-receiverClass=$recv($2)._class();
-$4=receiverClass;
-$6=[$self._methodContext()
+][0])._receiver())._class();
+method=[$recv(receiverClass)._lookupSelector_([$recv([$self._methodContext()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodContext"]=3
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._selector()
+][0])._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0];
-method=[$recv($4)._lookupSelector_($5)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lookupSelector:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$7=$self._outerContext();
-if(($receiver = $7) == null || $receiver.a$nil){
+$2=$self._outerContext();
+if(($receiver = $2) == null || $receiver.a$nil){
 supercall=false;
 } else {
 var outer;
 outer=$receiver;
 supercall=$recv(outer)._supercall();
 }
-$8=supercall;
-if($core.assert($8)){
+$3=supercall;
+if($core.assert($3)){
 return $recv($recv($recv(method)._methodClass())._superclass())._lookupSelector_($recv($self._methodContext())._selector());
 } else {
 return method;
@@ -3715,17 +3701,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
+var $1;
 $1=$recv($self._isBlockContext())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$self._outerContext()
+return $recv([$self._outerContext()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["outerContext"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($2)._notNil();
+][0])._notNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");

+ 99 - 208
lang/src/Kernel-Objects.js

@@ -507,19 +507,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $5,$4,$3,$2,$1;
-$5=[$self._class()
+var $2,$1;
+$2=$recv($recv([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv($5)._name()
+][0])._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._first();
-$2=$recv($3)._isVowel();
+][0])._first())._isVowel();
 if($core.assert($2)){
 $1="an ";
 } else {
@@ -603,13 +600,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($self.__eq(anObject)).__eq(false)
+return [$recv($self.__eq(anObject)).__eq(false)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"~=",{anObject:anObject})});
 //>>excludeEnd("ctx");
@@ -978,36 +973,27 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$6,$5,$4,$8,$7,$3,$2;
-$1=console;
-$6=[$core.getThisContext()._home()
+$recv(console)._warn_([$recv([$recv($recv([$recv([$core.getThisContext()._home()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["home"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._asString()
+][0])._asString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asString"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=$recv($5).__comma(" is deprecated! (in ");
-$8=[$recv($core.getThisContext()._home())._home()
+][0]).__comma(" is deprecated! (in ")).__comma($recv([$recv($core.getThisContext()._home())._home()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["home"]=2
 //>>excludeEnd("ctx");
-][0];
-$7=$recv($8)._asString();
-$3=[$recv($4).__comma($7)
+][0])._asString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma(")")
+][0]).__comma(")")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._warn_($2);
+][0]);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"deprecatedAPI",{})});
@@ -1031,36 +1017,27 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$6,$5,$4,$8,$7,$3,$2;
-$1=console;
-$6=[$core.getThisContext()._home()
+[$recv(console)._warn_([$recv([$recv($recv([$recv([$core.getThisContext()._home()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["home"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv($6)._asString()
+][0])._asString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asString"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=$recv($5).__comma(" is deprecated! (in ");
-$8=[$recv($core.getThisContext()._home())._home()
+][0]).__comma(" is deprecated! (in ")).__comma($recv([$recv($core.getThisContext()._home())._home()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["home"]=2
 //>>excludeEnd("ctx");
-][0];
-$7=$recv($8)._asString();
-$3=[$recv($4).__comma($7)
+][0])._asString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma(")")
+][0]).__comma(")")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($1)._warn_($2)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["warn:"]=1
 //>>excludeEnd("ctx");
@@ -2064,27 +2041,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3;
-$2=[$recv(aDate)._class()
+return $recv([$recv([$recv(aDate)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__eq_eq($self._class())
+][0]).__eq_eq($self._class())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["=="]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$self._asMilliseconds()
+return $recv([$self._asMilliseconds()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["asMilliseconds"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($3).__eq_eq($recv(aDate)._asMilliseconds());
+][0]).__eq_eq($recv(aDate)._asMilliseconds());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -3471,13 +3444,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv("(".__comma($self._printString())).__comma(")")
+return [$recv("(".__comma($self._printString())).__comma(")")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{})});
 //>>excludeEnd("ctx");
@@ -4933,30 +4904,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$4,$3,$1,$6,$5;
-$2=[$self._x()
+return $recv($globals.Point)._x_y_([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv(aPoint)._asPoint()
+][0]).__star($recv([$recv(aPoint)._asPoint()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asPoint"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._x();
-$1=[$recv($2).__star($3)
+][0])._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["*"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$self._y()
+][0],$recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6).__star($recv($recv(aPoint)._asPoint())._y());
-return $recv($globals.Point)._x_y_($1,$5);
+][0]).__star($recv($recv(aPoint)._asPoint())._y()));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"*",{aPoint:aPoint})});
 //>>excludeEnd("ctx");
@@ -4979,30 +4943,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$4,$3,$1,$6,$5;
-$2=[$self._x()
+return $recv($globals.Point)._x_y_([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv(aPoint)._asPoint()
+][0]).__plus($recv([$recv(aPoint)._asPoint()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asPoint"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._x();
-$1=[$recv($2).__plus($3)
+][0])._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["+"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$self._y()
+][0],$recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6).__plus($recv($recv(aPoint)._asPoint())._y());
-return $recv($globals.Point)._x_y_($1,$5);
+][0]).__plus($recv($recv(aPoint)._asPoint())._y()));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"+",{aPoint:aPoint})});
 //>>excludeEnd("ctx");
@@ -5025,30 +4982,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$4,$3,$1,$6,$5;
-$2=[$self._x()
+return $recv($globals.Point)._x_y_([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv(aPoint)._asPoint()
+][0]).__minus($recv([$recv(aPoint)._asPoint()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asPoint"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._x();
-$1=[$recv($2).__minus($3)
+][0])._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["-"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$self._y()
+][0],$recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6).__minus($recv($recv(aPoint)._asPoint())._y());
-return $recv($globals.Point)._x_y_($1,$5);
+][0]).__minus($recv($recv(aPoint)._asPoint())._y()));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"-",{aPoint:aPoint})});
 //>>excludeEnd("ctx");
@@ -5071,30 +5021,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$4,$3,$1,$6,$5;
-$2=[$self._x()
+return $recv($globals.Point)._x_y_([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$4=[$recv(aPoint)._asPoint()
+][0]).__slash($recv([$recv(aPoint)._asPoint()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asPoint"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4)._x();
-$1=[$recv($2).__slash($3)
+][0])._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["/"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$self._y()
+][0],$recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6).__slash($recv($recv(aPoint)._asPoint())._y());
-return $recv($globals.Point)._x_y_($1,$5);
+][0]).__slash($recv($recv(aPoint)._asPoint())._y()));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"/",{aPoint:aPoint})});
 //>>excludeEnd("ctx");
@@ -5117,27 +5060,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3;
-$2=[$self._x()
+return $recv([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__lt($recv(aPoint)._x())
+][0]).__lt($recv(aPoint)._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["<"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$self._y()
+return $recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($3).__lt($recv(aPoint)._y());
+][0]).__lt($recv(aPoint)._y());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -5164,27 +5103,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3;
-$2=[$self._x()
+return $recv([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__lt_eq($recv(aPoint)._x())
+][0]).__lt_eq($recv(aPoint)._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["<="]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$self._y()
+return $recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($3).__lt_eq($recv(aPoint)._y());
+][0]).__lt_eq($recv(aPoint)._y());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -5211,38 +5146,31 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3,$6,$5;
-$2=[$recv(aPoint)._class()
+return $recv([$recv([$recv(aPoint)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__eq($self._class())
+][0]).__eq($self._class())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=[$recv(aPoint)._x()
+return $recv([$recv([$recv(aPoint)._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__eq($self._x())
+][0]).__eq($self._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=2
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv(aPoint)._y()
+][0]).__and($recv([$recv(aPoint)._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6).__eq($self._y());
-return $recv($3).__and($5);
+][0]).__eq($self._y()));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -5269,27 +5197,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3;
-$2=[$self._x()
+return $recv([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__gt($recv(aPoint)._x())
+][0]).__gt($recv(aPoint)._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[">"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$self._y()
+return $recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($3).__gt($recv(aPoint)._y());
+][0]).__gt($recv(aPoint)._y());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -5316,27 +5240,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$3;
-$2=[$self._x()
+return $recv([$recv([$self._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__gt_eq($recv(aPoint)._x())
+][0]).__gt_eq($recv(aPoint)._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[">="]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$self._y()
+return $recv([$self._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($3).__gt_eq($recv(aPoint)._y());
+][0]).__gt_eq($recv(aPoint)._y());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -5428,20 +5348,17 @@ var dx,dy;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
 dx=[$recv($recv(aPoint)._x()).__minus($self.x)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["-"]=1
 //>>excludeEnd("ctx");
 ][0];
 dy=$recv($recv(aPoint)._y()).__minus($self.y);
-$2=[$recv(dx).__star(dx)
+return $recv($recv([$recv(dx).__star(dx)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["*"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__plus($recv(dy).__star(dy));
-return $recv($1)._sqrt();
+][0]).__plus($recv(dy).__star(dy)))._sqrt();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"dist:",{aPoint:aPoint,dx:dx,dy:dy})});
 //>>excludeEnd("ctx");
@@ -5464,13 +5381,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($self.x).__star($recv(aPoint)._x())
+return $recv([$recv($self.x).__star($recv(aPoint)._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["*"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__plus($recv($self.y).__star($recv(aPoint)._y()));
+][0]).__plus($recv($self.y).__star($recv(aPoint)._y()));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"dotProduct:",{aPoint:aPoint})});
 //>>excludeEnd("ctx");
@@ -5517,29 +5432,25 @@ var n,d;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $4,$3,$6,$5,$2,$1;
+var $2,$1;
 n=[$recv($recv($self.y)._negated()).__at($self.x)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["@"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv(n)._x()
+d=$recv([$recv([$recv(n)._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($4).__star($recv(n)._x())
+][0]).__star($recv(n)._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["*"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv(n)._y()
+][0]).__plus($recv([$recv(n)._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=$recv($6).__star($recv(n)._y());
-d=$recv($3).__plus($5);
+][0]).__star($recv(n)._y()));
 $2=d;
 $1=$recv($2).__eq((0));
 if($core.assert($1)){
@@ -5569,23 +5480,21 @@ var r;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1;
 r=$self._r();
 $1=$recv(r).__eq((0));
 if($core.assert($1)){
-$2=[$recv($globals.Point)._x_y_((0),(0))
+return [$recv($globals.Point)._x_y_((0),(0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x:y:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $2;
 } else {
-$3=[$recv($self.x).__slash(r)
+return $recv($globals.Point)._x_y_([$recv($self.x).__slash(r)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["/"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($globals.Point)._x_y_($3,$recv($self.y).__slash(r));
+][0],$recv($self.y).__slash(r));
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -5653,14 +5562,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv($self.x).__star($self.x)
+return $recv($recv([$recv($self.x).__star($self.x)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["*"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__plus($recv($self.y).__star($self.y));
-return $recv($1)._sqrt();
+][0]).__plus($recv($self.y).__star($self.y)))._sqrt();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"r",{})});
 //>>excludeEnd("ctx");
@@ -5706,13 +5612,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($recv(delta)._x()).__plus($self.x)
+return $recv([$recv($recv(delta)._x()).__plus($self.x)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["+"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__at($recv($recv(delta)._y()).__plus($self.y));
+][0]).__at($recv($recv(delta)._y()).__plus($self.y));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"translateBy:",{delta:delta})});
 //>>excludeEnd("ctx");
@@ -5921,13 +5825,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($self.origin).__eq($recv(aRectangle)._origin())
+return $recv([$recv($self.origin).__eq($recv(aRectangle)._origin())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._and_((function(){
+][0])._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -6086,55 +5988,44 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$3,$1,$5,$6,$4,$8,$7,$10,$9;
-$2=[$recv(pt1)._x()
+$self.origin=[$recv([$recv([$recv(pt1)._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv(pt2)._x()
+][0])._min_([$recv(pt2)._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=2
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2)._min_($3)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["min:"]=1
 //>>excludeEnd("ctx");
-][0];
-$5=[$recv(pt1)._y()
+][0]).__at($recv([$recv(pt1)._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv(pt2)._y()
+][0])._min_([$recv(pt2)._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=2
 //>>excludeEnd("ctx");
-][0];
-$4=$recv($5)._min_($6);
-$self.origin=[$recv($1).__at($4)
+][0]))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["@"]=1
 //>>excludeEnd("ctx");
 ][0];
-$8=[$recv(pt1)._x()
+$self.corner=$recv([$recv([$recv(pt1)._x()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x"]=3
 //>>excludeEnd("ctx");
-][0];
-$7=[$recv($8)._max_($recv(pt2)._x())
+][0])._max_($recv(pt2)._x())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["max:"]=1
 //>>excludeEnd("ctx");
-][0];
-$10=[$recv(pt1)._y()
+][0]).__at($recv([$recv(pt1)._y()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["y"]=3
 //>>excludeEnd("ctx");
-][0];
-$9=$recv($10)._max_($recv(pt2)._y());
-$self.corner=$recv($7).__at($9);
+][0])._max_($recv(pt2)._y()));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"setPoint:point:",{pt1:pt1,pt2:pt2})});

File diff suppressed because it is too large
+ 151 - 258
lang/src/Kernel-Tests.js


+ 2 - 3
lang/src/Platform-DOM.js

@@ -165,12 +165,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $1=$recv($globals.PlatformDom)._isDomNode_($self.jsObject);
 if($core.assert($1)){
 return $self.jsObject;
 } else {
-$2=[(
+return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -179,7 +179,6 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-return $2;
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);

+ 120 - 205
lang/src/Platform-ImportExport.js

@@ -83,24 +83,22 @@ var extensionName,result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
-$1=[$recv(aPackage)._name()
+var $1;
+extensionName="*".__comma([$recv(aPackage)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-extensionName="*".__comma($1);
+][0]);
 result=$recv($globals.OrderedCollection)._new();
 $recv($recv($recv($recv($globals.Smalltalk)._classes())._asArray())._sorted_((function(a,b){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=[$recv(a)._name()
+return $recv([$recv(a)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=2
 //>>excludeEnd("ctx");
-][0];
-return $recv($2).__lt($recv(b)._name());
+][0]).__lt($recv(b)._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -112,8 +110,8 @@ return $recv(each)._includingPossibleMetaDo_((function(behavior){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$3=$recv($recv(behavior)._protocols())._includes_(extensionName);
-if($core.assert($3)){
+$1=$recv($recv(behavior)._protocols())._includes_(extensionName);
+if($core.assert($1)){
 return $recv(result)._add_($recv($globals.ExportMethodProtocol)._name_theClass_(extensionName,behavior));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -271,7 +269,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [$recv(aStream)._print_($recv(aClass)._superclass())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["print:"]=1
@@ -324,12 +321,11 @@ $recv(aStream)._tab();
 ,$ctx1.sendIdx["lf"]=3
 //>>excludeEnd("ctx");
 ][0];
-$1=[$recv(aClass)._comment()
+$recv([$recv(aClass)._comment()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["comment"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._ifNotEmpty_((function(){
+][0])._ifNotEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -384,16 +380,15 @@ var classIvars,classTraitComposition;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[$recv(aClass)._class()
+var $1;
+classIvars=$recv([$recv(aClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0];
-classIvars=$recv($1)._instanceVariableNames();
+][0])._instanceVariableNames();
 classTraitComposition=$recv($recv(aClass)._class())._traitComposition();
-$2=$recv(classIvars)._notEmpty();
-if($core.assert($2)){
+$1=$recv(classIvars)._notEmpty();
+if($core.assert($1)){
 $recv(aStream)._print_($recv(aClass)._theMetaClass());
 $recv(aStream)._space();
 $recv(aStream)._write_(["slots: {",". "._join_($recv(classIvars)._collect_("symbolPrintString")),"}!"]);
@@ -542,7 +537,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv($recv(aPackage)._imports())._ifNotEmpty_((function(imports){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -552,12 +546,11 @@ return $core.withContext(function($ctx2) {
 ,$ctx2.sendIdx["write:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$1=[$recv(aPackage)._name()
+[$recv(aStream)._print_([$recv(aPackage)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv(aStream)._print_($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["print:"]=1
 //>>excludeEnd("ctx");
@@ -824,7 +817,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [$recv(aStream)._write_("Trait named: ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=1
@@ -857,12 +849,11 @@ $recv(aStream)._tab();
 ,$ctx1.sendIdx["lf"]=2
 //>>excludeEnd("ctx");
 ][0];
-$1=[$recv(aClass)._comment()
+$recv([$recv(aClass)._comment()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["comment"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._ifNotEmpty_((function(){
+][0])._ifNotEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1140,7 +1131,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$4,$3,$5,$6,$1,$7,$9,$8,$receiver;
+var $2,$4,$3,$1,$receiver;
 [$recv(aStream)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lf"]=1
@@ -1163,28 +1154,25 @@ $3=[$recv(superclass)._asJavaScriptSource()
 //>>excludeEnd("ctx");
 ][0];
 }
-$5=[$recv($recv(aClass)._instanceVariableNames())._asJavaScriptSource()
+$1=["$core.addClass(",$2,", ",$3,", ",[$recv($recv(aClass)._instanceVariableNames())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=3
 //>>excludeEnd("ctx");
-][0];
-$6=[$recv($recv(aClass)._category())._asJavaScriptSource()
+][0],", ",[$recv($recv(aClass)._category())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=4
 //>>excludeEnd("ctx");
-][0];
-$1=["$core.addClass(",$2,", ",$3,", ",$5,", ",$6,");"];
+][0],");"];
 [$recv(aStream)._write_($1)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$7=[$recv(aClass)._comment()
+$recv([$recv(aClass)._comment()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["comment"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($7)._ifNotEmpty_((function(){
+][0])._ifNotEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1203,13 +1191,11 @@ return $core.withContext(function($ctx2) {
 ,$ctx2.sendIdx["lf"]=3
 //>>excludeEnd("ctx");
 ][0];
-$9=[$recv(aClass)._asJavaScriptSource()
+[$recv(aStream)._write_([[$recv(aClass)._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["asJavaScriptSource"]=5
 //>>excludeEnd("ctx");
-][0];
-$8=[$9,".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavaScriptSource(),";"];
-[$recv(aStream)._write_($8)
+][0],".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavaScriptSource(),";"])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["write:"]=3
 //>>excludeEnd("ctx");
@@ -1248,29 +1234,24 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3;
 [$recv(aStream)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lf"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=[$recv(aClass)._theMetaClass()
+$recv($recv([$recv(aClass)._theMetaClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["theMetaClass"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2)._instanceVariableNames();
-$recv($1)._ifNotEmpty_((function(classIvars){
+][0])._instanceVariableNames())._ifNotEmpty_((function(classIvars){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$4=[$recv($recv(aClass)._theMetaClass())._asJavaScriptSource()
+$recv(aStream)._write_(["$core.setSlots(",[$recv($recv(aClass)._theMetaClass())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["asJavaScriptSource"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=["$core.setSlots(",$4,", ",$recv(classIvars)._asJavaScriptSource(),");"];
-$recv(aStream)._write_($3);
+][0],", ",$recv(classIvars)._asJavaScriptSource(),");"]);
 return $recv(aStream)._lf();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({classIvars:classIvars},$ctx1,1)});
@@ -1299,7 +1280,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1,$4,$3,$5,$7,$6,$9,$8,$11,$10,$13,$12,$15,$14,$17,$16,$18,$receiver;
+var $1,$2,$receiver;
 [$recv(aStream)._write_("$core.addMethod(")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=1
@@ -1320,13 +1301,11 @@ var $2,$1,$4,$3,$5,$7,$6,$9,$8,$11,$10,$13,$12,$15,$14,$17,$16,$18,$receiver;
 ,$ctx1.sendIdx["lf"]=2
 //>>excludeEnd("ctx");
 ][0];
-$2=[$recv($recv(aMethod)._selector())._asJavaScriptSource()
+[$recv(aStream)._write_(["selector: ",[$recv($recv(aMethod)._selector())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=["selector: ",$2,","];
-[$recv(aStream)._write_($1)
+][0],","])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=3
 //>>excludeEnd("ctx");
@@ -1336,13 +1315,11 @@ $1=["selector: ",$2,","];
 ,$ctx1.sendIdx["lf"]=3
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv($recv(aMethod)._protocol())._asJavaScriptSource()
+[$recv(aStream)._write_(["protocol: ",[$recv($recv(aMethod)._protocol())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=2
 //>>excludeEnd("ctx");
-][0];
-$3=["protocol: ",$4,","];
-[$recv(aStream)._write_($3)
+][0],","])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=4
 //>>excludeEnd("ctx");
@@ -1352,19 +1329,17 @@ $3=["protocol: ",$4,","];
 ,$ctx1.sendIdx["lf"]=4
 //>>excludeEnd("ctx");
 ][0];
-$5=[$recv(aMethod)._instantiateFn()
+$1=[$recv(aMethod)._instantiateFn()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["instantiateFn"]=1
 //>>excludeEnd("ctx");
 ][0];
-if(($receiver = $5) == null || $receiver.a$nil){
-$7=[$recv($recv(aMethod)._fn())._compiledSource()
+if(($receiver = $1) == null || $receiver.a$nil){
+[$recv(aStream)._write_(["fn: ",[$recv($recv(aMethod)._fn())._compiledSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["compiledSource"]=1
 //>>excludeEnd("ctx");
-][0];
-$6=["fn: ",$7,","];
-[$recv(aStream)._write_($6)
+][0],","])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=5
 //>>excludeEnd("ctx");
@@ -1375,7 +1350,7 @@ $6=["fn: ",$7,","];
 //>>excludeEnd("ctx");
 ][0];
 } else {
-$5;
+$1;
 }
 [$recv(aStream)._write_("//>>excludeStart(\x22ide\x22, pragmas.excludeIdeData);")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1387,13 +1362,11 @@ $5;
 ,$ctx1.sendIdx["lf"]=6
 //>>excludeEnd("ctx");
 ][0];
-$9=[$recv($recv(aMethod)._arguments())._asJavaScriptSource()
+[$recv(aStream)._write_(["args: ",[$recv($recv(aMethod)._arguments())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=3
 //>>excludeEnd("ctx");
-][0];
-$8=["args: ",$9,","];
-[$recv(aStream)._write_($8)
+][0],","])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=7
 //>>excludeEnd("ctx");
@@ -1403,13 +1376,11 @@ $8=["args: ",$9,","];
 ,$ctx1.sendIdx["lf"]=7
 //>>excludeEnd("ctx");
 ][0];
-$11=[$recv($recv(aMethod)._source())._asJavaScriptSource()
+[$recv(aStream)._write_(["source: ",[$recv($recv(aMethod)._source())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=4
 //>>excludeEnd("ctx");
-][0];
-$10=["source: ",$11,","];
-[$recv(aStream)._write_($10)
+][0],","])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=8
 //>>excludeEnd("ctx");
@@ -1419,13 +1390,11 @@ $10=["source: ",$11,","];
 ,$ctx1.sendIdx["lf"]=8
 //>>excludeEnd("ctx");
 ][0];
-$13=[$recv($recv(aMethod)._referencedClasses())._asJavaScriptSource()
+[$recv(aStream)._write_(["referencedClasses: ",[$recv($recv(aMethod)._referencedClasses())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=5
 //>>excludeEnd("ctx");
-][0];
-$12=["referencedClasses: ",$13,","];
-[$recv(aStream)._write_($12)
+][0],","])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=9
 //>>excludeEnd("ctx");
@@ -1445,13 +1414,11 @@ $12=["referencedClasses: ",$13,","];
 ,$ctx1.sendIdx["lf"]=10
 //>>excludeEnd("ctx");
 ][0];
-$15=[$recv($recv(aMethod)._basicPragmas())._asJavaScriptSource()
+[$recv(aStream)._write_(["pragmas: ",[$recv($recv(aMethod)._basicPragmas())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=6
 //>>excludeEnd("ctx");
-][0];
-$14=["pragmas: ",$15,","];
-[$recv(aStream)._write_($14)
+][0],","])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=11
 //>>excludeEnd("ctx");
@@ -1461,13 +1428,11 @@ $14=["pragmas: ",$15,","];
 ,$ctx1.sendIdx["lf"]=11
 //>>excludeEnd("ctx");
 ][0];
-$17=[$recv($recv(aMethod)._messageSends())._asJavaScriptSource()
+[$recv(aStream)._write_(["messageSends: ",[$recv($recv(aMethod)._messageSends())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=7
 //>>excludeEnd("ctx");
-][0];
-$16=["messageSends: ",$17];
-[$recv(aStream)._write_($16)
+][0]])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=12
 //>>excludeEnd("ctx");
@@ -1482,9 +1447,9 @@ $16=["messageSends: ",$17];
 ,$ctx1.sendIdx["write:"]=13
 //>>excludeEnd("ctx");
 ][0];
-$18=$recv(aMethod)._instantiateFn();
-if(($receiver = $18) == null || $receiver.a$nil){
-$18;
+$2=$recv(aMethod)._instantiateFn();
+if(($receiver = $2) == null || $receiver.a$nil){
+$2;
 } else {
 var ifn;
 ifn=$receiver;
@@ -1816,14 +1781,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv(aTraitComposition)._asJavaScriptSource()
+$recv(aStream)._write_(["$core.setTraitComposition(",[$recv(aTraitComposition)._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=["$core.setTraitComposition(",$2,", ",$recv(aBehavior)._asJavaScriptSource(),");"];
-$recv(aStream)._write_($1);
+][0],", ",$recv(aBehavior)._asJavaScriptSource(),");"]);
 $recv(aStream)._lf();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1848,34 +1810,29 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$3,$1,$4,$6,$5;
 [$recv(aStream)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lf"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=[$recv($recv(aClass)._name())._asJavaScriptSource()
+[$recv(aStream)._write_(["$core.addTrait(",[$recv($recv(aClass)._name())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=[$recv($recv(aClass)._category())._asJavaScriptSource()
+][0],", ",[$recv($recv(aClass)._category())._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["asJavaScriptSource"]=2
 //>>excludeEnd("ctx");
-][0];
-$1=["$core.addTrait(",$2,", ",$3,");"];
-[$recv(aStream)._write_($1)
+][0],");"])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["write:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv(aClass)._comment()
+$recv([$recv(aClass)._comment()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["comment"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($4)._ifNotEmpty_((function(){
+][0])._ifNotEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1894,13 +1851,11 @@ return $core.withContext(function($ctx2) {
 ,$ctx2.sendIdx["lf"]=3
 //>>excludeEnd("ctx");
 ][0];
-$6=[$recv(aClass)._asJavaScriptSource()
+[$recv(aStream)._write_([[$recv(aClass)._asJavaScriptSource()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["asJavaScriptSource"]=3
 //>>excludeEnd("ctx");
-][0];
-$5=[$6,".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavaScriptSource(),";"];
-[$recv(aStream)._write_($5)
+][0],".comment=",$recv($recv($recv(aClass)._comment())._crlfSanitized())._asJavaScriptSource(),";"])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["write:"]=3
 //>>excludeEnd("ctx");
@@ -1939,17 +1894,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($recv($recv($recv(aClass)._methodDictionary())._values())._sorted_((function(a,b){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(a)._selector()
+return $recv([$recv(a)._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__lt_eq($recv(b)._selector());
+][0]).__lt_eq($recv(b)._selector());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -2013,17 +1966,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($recv(anArray)._select_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$self._amdNamespaceOfPackage_(each)
+return $recv([$self._amdNamespaceOfPackage_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["amdNamespaceOfPackage:"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._notNil();
+][0])._notNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -2062,14 +2013,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1;
-$3=[$recv(aPackage)._transport()
+var $1;
+$1=$recv($recv([$recv(aPackage)._transport()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["transport"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._type();
-$1=$recv($2).__eq("amd");
+][0])._type()).__eq("amd");
 if($core.assert($1)){
 return $recv($recv(aPackage)._transport())._namespace();
 } else {
@@ -2123,23 +2072,20 @@ var importsForOutput,pragmaStart,pragmaEnd;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$4,$3,$6,$10,$9,$11,$8,$7,$12,$5;
-$1=[$recv($globals.String)._lf()
+pragmaStart=["//>>excludeStart(\x22imports\x22, pragmas.excludeImports);".__comma([$recv($globals.String)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lf"]=1
 //>>excludeEnd("ctx");
-][0];
-pragmaStart=["//>>excludeStart(\x22imports\x22, pragmas.excludeImports);".__comma($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=[$recv($globals.String)._lf()
+pragmaEnd=["//>>excludeEnd(\x22imports\x22);".__comma([$recv($globals.String)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lf"]=2
 //>>excludeEnd("ctx");
-][0];
-pragmaEnd=["//>>excludeEnd(\x22imports\x22);".__comma($2)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
@@ -2169,13 +2115,11 @@ $recv(vars)._ifNotEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$4=[","._join_(vars)
+[$recv(aStream)._write_(["var ",[","._join_(vars)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["join:"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=["var ",$4,";"];
-[$recv(aStream)._write_($3)
+][0],";"])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["write:"]=2
 //>>excludeEnd("ctx");
@@ -2189,27 +2133,23 @@ return [$recv(aStream)._lf()
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)});
 //>>excludeEnd("ctx");
 }));
-$6=$recv(imports)._asJavaScriptSource();
-$10=[$recv(vars)._size()
+[$recv(aStream)._write_(["$pkg.isReady = new Promise(function (resolve, reject) { requirejs(",$recv(imports)._asJavaScriptSource(),", function (",","._join_([$recv([(1)._to_([$recv(vars)._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0];
-$9=[(1)._to_($10)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["to:"]=1
 //>>excludeEnd("ctx");
-][0];
-$8=[$recv($9)._collect_((function(each){
+][0])._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$11=[$recv(each)._asString()
+return ["$".__comma([$recv(each)._asString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["asString"]=1
 //>>excludeEnd("ctx");
-][0];
-return ["$".__comma($11)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx[","]=3
 //>>excludeEnd("ctx");
@@ -2221,18 +2161,15 @@ return ["$".__comma($11)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["collect:"]=1
 //>>excludeEnd("ctx");
-][0];
-$7=","._join_($8);
-$5=["$pkg.isReady = new Promise(function (resolve, reject) { requirejs(",$6,", function (",$7,") {",$recv((1)._to_($recv(vars)._size()))._collect_((function(each){
+][0]),") {",$recv((1)._to_($recv(vars)._size()))._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$12=[$recv($recv($recv(vars)._at_(each)).__comma("=$")).__comma($recv(each)._asString())
+return [$recv([$recv($recv($recv(vars)._at_(each)).__comma("=$")).__comma($recv(each)._asString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx[","]=5
 //>>excludeEnd("ctx");
-][0];
-return [$recv($12).__comma("; ")
+][0]).__comma("; ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx[","]=4
 //>>excludeEnd("ctx");
@@ -2240,8 +2177,7 @@ return [$recv($12).__comma("; ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,4)});
 //>>excludeEnd("ctx");
-})),"resolve();}, reject); });"];
-[$recv(aStream)._write_($5)
+})),"resolve();}, reject); });"])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["write:"]=3
 //>>excludeEnd("ctx");
@@ -2280,23 +2216,20 @@ var loadDependencies,pragmaStart,pragmaEnd;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[$recv($globals.String)._lf()
+pragmaStart=["//>>excludeStart(\x22imports\x22, pragmas.excludeImports);".__comma([$recv($globals.String)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lf"]=1
 //>>excludeEnd("ctx");
-][0];
-pragmaStart=["//>>excludeStart(\x22imports\x22, pragmas.excludeImports);".__comma($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=[$recv($globals.String)._lf()
+pragmaEnd=["//>>excludeEnd(\x22imports\x22);".__comma([$recv($globals.String)._lf()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["lf"]=2
 //>>excludeEnd("ctx");
-][0];
-pragmaEnd=["//>>excludeEnd(\x22imports\x22);".__comma($2)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
@@ -2757,17 +2690,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($recv($self._theClass())._methodsInProtocol_($self._name()))._sorted_((function(a,b){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(a)._selector()
+return $recv([$recv(a)._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__lt_eq($recv(b)._selector());
+][0]).__lt_eq($recv(b)._selector());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -2831,17 +2762,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($recv($self._theClass())._ownMethodsInProtocol_($self._name()))._sorted_((function(a,b){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(a)._selector()
+return $recv([$recv(a)._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__lt_eq($recv(b)._selector());
+][0]).__lt_eq($recv(b)._selector());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -3071,7 +3000,7 @@ var xhr;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$4,$3,$2;
+var $1,$2;
 xhr=$recv($globals.Platform)._newXhr();
 $recv(xhr)._open_url_async_("PUT",aURL,true);
 $recv(xhr)._onreadystatechange_((function(){
@@ -3080,13 +3009,11 @@ return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 $1=$recv($recv(xhr)._readyState()).__eq((4));
 if($core.assert($1)){
-$4=[$recv(xhr)._status()
+$2=$recv($recv([$recv(xhr)._status()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["status"]=1
 //>>excludeEnd("ctx");
-][0];
-$3=$recv($4).__gt_eq((200));
-$2=$recv($3)._and_((function(){
+][0]).__gt_eq((200)))._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -3197,7 +3124,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $self._commit_onSuccess_onError_(aPackage,(function(){
 
 }),(function(error){
@@ -3205,12 +3132,11 @@ $self._commit_onSuccess_onError_(aPackage,(function(){
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 $1=$recv($globals.PackageCommitError)._new();
-$2=[$recv("Commiting failed with reason: \x22".__comma($recv(error)._responseText())).__comma("\x22")
+$recv($1)._messageText_([$recv("Commiting failed with reason: \x22".__comma($recv(error)._responseText())).__comma("\x22")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._messageText_($2);
+][0]);
 return $recv($1)._signal();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({error:error},$ctx1,2)});
@@ -3280,18 +3206,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv($recv($self._commitPathJsFor_(aPackage)).__comma("/")).__comma($recv(aPackage)._name())
+$self._ajaxPutAt_data_onSuccess_onError_([$recv([$recv($recv($self._commitPathJsFor_(aPackage)).__comma("/")).__comma($recv(aPackage)._name())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__comma(".js")
+][0]).__comma(".js")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$self._ajaxPutAt_data_onSuccess_onError_($1,$self._contentsFor_(aPackage),aBlock,anotherBlock);
+][0],$self._contentsFor_(aPackage),aBlock,anotherBlock);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"commitJsFileFor:onSuccess:onError:",{aPackage:aPackage,aBlock:aBlock,anotherBlock:anotherBlock})});
@@ -3363,18 +3286,15 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$recv($recv($self._commitPathStFor_(aPackage)).__comma("/")).__comma($recv(aPackage)._name())
+$self._ajaxPutAt_data_onSuccess_onError_([$recv([$recv($recv($self._commitPathStFor_(aPackage)).__comma("/")).__comma($recv(aPackage)._name())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$1=[$recv($2).__comma(".st")
+][0]).__comma(".st")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$self._ajaxPutAt_data_onSuccess_onError_($1,$self._chunkContentsFor_(aPackage),aBlock,anotherBlock);
+][0],$self._chunkContentsFor_(aPackage),aBlock,anotherBlock);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"commitStFileFor:onSuccess:onError:",{aPackage:aPackage,aBlock:aBlock,anotherBlock:anotherBlock})});
@@ -3500,14 +3420,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $1=$recv($globals.PackageCommitError)._new();
-$2=[$recv("Commiting failed with reason: \x22".__comma($recv(anError)._responseText())).__comma("\x22")
+$recv($1)._messageText_([$recv("Commiting failed with reason: \x22".__comma($recv(anError)._responseText())).__comma("\x22")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($1)._messageText_($2);
+][0]);
 $recv($1)._signal();
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3586,16 +3505,15 @@ var path,pathWithout;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[$recv($self._namespaceFor_(aPackage)).__comma("/_source")
+var $1;
+path=$self._toUrl_([$recv($self._namespaceFor_(aPackage)).__comma("/_source")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-path=$self._toUrl_($1);
+][0]);
 pathWithout=$self._commitPathJsFor_(aPackage);
-$2=$recv(path).__eq($recv(pathWithout).__comma("/_source"));
-if($core.assert($2)){
+$1=$recv(path).__eq($recv(pathWithout).__comma("/_source"));
+if($core.assert($1)){
 return pathWithout;
 } else {
 return path;
@@ -3640,7 +3558,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$3,$2,$receiver;
+var $1,$receiver;
 return $recv($globals.Promise)._new_((function(model){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -3651,13 +3569,11 @@ return $self._error_("AMD loader not present");
 } else {
 var require;
 require=$receiver;
-$3=[$recv($recv($self._namespaceFor_(aPackage)).__comma("/")).__comma($recv(aPackage)._name())
+return $recv(require)._value_value_value_([[$recv($recv($self._namespaceFor_(aPackage)).__comma("/")).__comma($recv(aPackage)._name())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[$3];
-return $recv(require)._value_value_value_($2,(function(result){
+][0]],(function(result){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -4172,20 +4088,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
+var $1,$receiver;
 if(($receiver = anObject) == null || $receiver.a$nil){
-$1=[$self._for_($self._defaultType())
+return [$self._for_($self._defaultType())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["for:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 } else {
 anObject;
 }
-$2=$self._for_($recv(anObject)._type());
-$recv($2)._setupFromJson_(anObject);
-return $recv($2)._yourself();
+$1=$self._for_($recv(anObject)._type());
+$recv($1)._setupFromJson_(anObject);
+return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"fromJson:",{anObject:anObject})});
 //>>excludeEnd("ctx");

+ 22 - 35
lang/src/Platform-Services.js

@@ -320,25 +320,21 @@ var newInstVars;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5;
+var $1;
 newInstVars=$recv($recv(aClass)._instanceVariableNames())._copyWith_(aString);
 $1=$recv(aClass)._isMetaclass();
 if($core.assert($1)){
-$2=[$self._classBuilder()
+$recv([$self._classBuilder()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["classBuilder"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($2)._class_slots_(aClass,newInstVars);
+][0])._class_slots_(aClass,newInstVars);
 } else {
-$3=$self._classBuilder();
-$4=$recv(aClass)._superclass();
-$5=[$recv(aClass)._name()
+$recv($self._classBuilder())._addSubclassOf_named_instanceVariableNames_package_($recv(aClass)._superclass(),[$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-$recv($3)._addSubclassOf_named_instanceVariableNames_package_($4,$5,newInstVars,$recv($recv(aClass)._package())._name());
+][0],newInstVars,$recv($recv(aClass)._package())._name());
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -670,17 +666,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
+var $1,$receiver;
 $1=$recv($recv($globals.Smalltalk)._globals())._at_(aClassName);
 if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
-$2=[$recv("A class named ".__comma(aClassName)).__comma(" already exists")
+$self._error_([$recv("A class named ".__comma(aClassName)).__comma(" already exists")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$self._error_($2);
+][0]);
 }
 $recv($recv($globals.ClassBuilder)._new())._copyClass_named_(aClass,aClassName);
 return self;
@@ -838,25 +833,22 @@ var destinationClass;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$3,$1,$5,$4;
+var $1,$2;
 destinationClass=$self._classNamed_(aClassName);
-$2=destinationClass;
-$3=[$recv(aMethod)._origin()
+$1=$recv(destinationClass).__eq_eq([$recv(aMethod)._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__eq_eq($3);
+][0]);
 if($core.assert($1)){
 return self;
 }
-$5=[$recv(aMethod)._origin()
+$2=$recv([$recv(aMethod)._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=2
 //>>excludeEnd("ctx");
-][0];
-$4=$recv($5)._isMetaclass();
-if($core.assert($4)){
+][0])._isMetaclass();
+if($core.assert($2)){
 destinationClass=$recv(destinationClass)._theMetaClass();
 destinationClass;
 }
@@ -1133,17 +1125,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$receiver;
+var $1,$receiver;
 $1=$recv($recv($globals.Smalltalk)._globals())._at_(aClassName);
 if(($receiver = $1) == null || $receiver.a$nil){
 $1;
 } else {
-$2=[$recv("A class named ".__comma(aClassName)).__comma(" already exists")
+$self._error_([$recv("A class named ".__comma(aClassName)).__comma(" already exists")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-$self._error_($2);
+][0]);
 }
 $recv($recv($globals.ClassBuilder)._new())._renameClass_to_(aClass,aClassName);
 return self;
@@ -2268,7 +2259,7 @@ var label;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $3,$2,$1,$5,$4;
+var $1;
 [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -2278,21 +2269,17 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-$3=[$self._printString()
+$1=$recv($recv([$self._printString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["printString"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=$recv($3)._size();
-$1=$recv($2).__gt((30));
+][0])._size()).__gt((30));
 if($core.assert($1)){
-$5=[$self._printString()
+label=$recv($recv([$self._printString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["printString"]=2
 //>>excludeEnd("ctx");
-][0];
-$4=$recv($5)._copyFrom_to_((1),(30));
-label=$recv($4).__comma("...'");
+][0])._copyFrom_to_((1),(30))).__comma("...'");
 label;
 } else {
 label=$self._printString();

+ 33 - 52
lang/src/SUnit-Tests.js

@@ -144,13 +144,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($self.full)._includes_((5))
+[$self._assert_([$recv($self.full)._includes_((5))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["includes:"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:"]=1
 //>>excludeEnd("ctx");
@@ -179,23 +177,20 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[$recv($self.empty)._occurrencesOf_((0))
+[$self._assert_equals_([$recv($self.empty)._occurrencesOf_((0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["occurrencesOf:"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($1,(0))
+][0],(0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$2=[$recv($self.full)._occurrencesOf_((5))
+[$self._assert_equals_([$recv($self.full)._occurrencesOf_((5))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["occurrencesOf:"]=2
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($2,(1))
+][0],(1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=2
 //>>excludeEnd("ctx");
@@ -225,14 +220,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv($self.full)._remove_((5));
-$1=[$recv($self.full)._includes_("abc")
+$self._assert_([$recv($self.full)._includes_("abc")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["includes:"]=1
 //>>excludeEnd("ctx");
-][0];
-$self._assert_($1);
+][0]);
 $self._deny_($recv($self.full)._includes_((5)));
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -364,13 +357,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [$self._timeout_((100))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["timeout:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$1=[$self._async_((function(){
+[$recv([$self._async_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -391,8 +383,7 @@ return $self._finished();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["async:"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($1)._valueWithTimeout_((20))
+][0])._valueWithTimeout_((20))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["valueWithTimeout:"]=1
 //>>excludeEnd("ctx");
@@ -420,13 +411,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [$self._timeout_((20))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["timeout:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$1=[$self._async_((function(){
+[$recv([$self._async_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -447,8 +437,7 @@ return $self._finished();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["async:"]=1
 //>>excludeEnd("ctx");
-][0];
-[$recv($1)._valueWithTimeout_((10))
+][0])._valueWithTimeout_((10))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["valueWithTimeout:"]=1
 //>>excludeEnd("ctx");
@@ -584,7 +573,7 @@ var suite,runner,result,assertBlock;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
+var $1,$2;
 suite=["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"]._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -605,17 +594,15 @@ assertBlock=$self._async_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$self._selectorSetOf_($recv(result)._errors())
+[$self._assert_equals_([$self._selectorSetOf_($recv(result)._errors())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["selectorSetOf:"]=1
 //>>excludeEnd("ctx");
-][0];
-$2=[["fakeError"]._asSet()
+][0],[["fakeError"]._asSet()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["asSet"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($1,$2)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
@@ -630,10 +617,10 @@ $recv($recv(runner)._announcer())._on_do_($globals.ResultAnnouncement,(function(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=$recv($recv(ann)._result()).__eq_eq(result);
-if($core.assert($3)){
-$4=$recv($recv(result)._runs()).__eq($recv(result)._total());
-return $recv($4)._ifTrue_(assertBlock);
+$1=$recv($recv(ann)._result()).__eq_eq(result);
+if($core.assert($1)){
+$2=$recv($recv(result)._runs()).__eq($recv(result)._total());
+return $recv($2)._ifTrue_(assertBlock);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1,3)});
@@ -760,24 +747,21 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[$self._isAsync()
+[$self._deny_([$self._isAsync()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["isAsync"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._deny_($1)
+][0])
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["deny:"]=1
 //>>excludeEnd("ctx");
 ][0];
 $self._timeout_((0));
-$2=[$self._isAsync()
+$self._assert_([$self._isAsync()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["isAsync"]=2
 //>>excludeEnd("ctx");
-][0];
-$self._assert_($2);
+][0]);
 $self._finished();
 $self._deny_($self._isAsync());
 return self;
@@ -841,7 +825,7 @@ var suite,runner,result,assertBlock;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 suite=["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"]._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -862,12 +846,11 @@ assertBlock=$self._async_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$self._selectorSetOf_($recv(result)._errors())
+[$self._assert_equals_([$self._selectorSetOf_($recv(result)._errors())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["selectorSetOf:"]=1
 //>>excludeEnd("ctx");
-][0];
-[$self._assert_equals_($1,$recv($globals.Set)._new())
+][0],$recv($globals.Set)._new())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
@@ -882,10 +865,10 @@ $recv($recv(runner)._announcer())._on_do_($globals.ResultAnnouncement,(function(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv($recv(ann)._result()).__eq_eq(result);
-if($core.assert($2)){
-$3=$recv($recv(result)._runs()).__eq($recv(result)._total());
-return $recv($3)._ifTrue_(assertBlock);
+$1=$recv($recv(ann)._result()).__eq_eq(result);
+if($core.assert($1)){
+$2=$recv($recv(result)._runs()).__eq($recv(result)._total());
+return $recv($2)._ifTrue_(assertBlock);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1,3)});
@@ -916,11 +899,10 @@ var x;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $self.flag="bad";
 $self._timeout_((10));
 x=(0);
-$1=[$self._async_((function(){
+$self.flag=[$recv([$self._async_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -947,8 +929,7 @@ return [$self._assert_equals_(x,(1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["async:"]=1
 //>>excludeEnd("ctx");
-][0];
-$self.flag=[$recv($1)._valueWithTimeout_((0))
+][0])._valueWithTimeout_((0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["valueWithTimeout:"]=1
 //>>excludeEnd("ctx");

+ 17 - 31
lang/src/SUnit.js

@@ -92,14 +92,14 @@ var learning;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 var $early={};
 try {
 learning=$recv($self._learnings())._at_ifAbsent_($recv(aMessage)._selector(),(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[(
+throw $early=[[(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.supercall = true,
 //>>excludeEnd("ctx");
@@ -107,14 +107,13 @@ $ctx2.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.supercall = false
 //>>excludeEnd("ctx");
-][0];
-throw $early=[$1];
+][0]];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$2=$recv($recv(learning)._class()).__eq_eq($globals.Association);
-if($core.assert($2)){
+$1=$recv($recv(learning)._class()).__eq_eq($globals.Association);
+if($core.assert($1)){
 return $recv(learning)._value();
 } else {
 return $recv(learning)._valueWithPossibleArguments_($recv(aMessage)._arguments());
@@ -331,25 +330,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$5,$4,$3,$2;
-$1=$recv(actual).__eq(expected);
-$5=[$recv(expected)._printString()
+return $self._assert_description_($recv(actual).__eq(expected),[$recv([$recv("Expected: ".__comma([$recv(expected)._printString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["printString"]=1
 //>>excludeEnd("ctx");
-][0];
-$4="Expected: ".__comma($5);
-$3=[$recv($4).__comma(" but was: ")
+][0])).__comma(" but was: ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
-][0];
-$2=[$recv($3).__comma($recv(actual)._printString())
+][0]).__comma($recv(actual)._printString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
-][0];
-return $self._assert_description_($1,$2);
+][0]);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"assert:equals:",{actual:actual,expected:expected})});
 //>>excludeEnd("ctx");
@@ -894,13 +887,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$self._name()
+return $recv([$self._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0];
-return $recv($1).__eq($recv($globals.TestCase)._name());
+][0]).__eq($recv($globals.TestCase)._name());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"isAbstract",{})});
 //>>excludeEnd("ctx");
@@ -1550,13 +1541,12 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $2,$1;
-$2=[$self._runs()
+var $1;
+$1=$recv([$self._runs()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["runs"]=1
 //>>excludeEnd("ctx");
-][0];
-$1=$recv($2).__eq_eq($self._total());
+][0]).__eq_eq($self._total());
 if(!$core.assert($1)){
 return $recv(aBlock)._value_($recv($self._runs()).__plus((1)));
 }
@@ -1661,8 +1651,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[$recv($self._errors())._ifNotEmpty_ifEmpty_((function(){
+return [$recv($self._errors())._ifNotEmpty_ifEmpty_((function(){
 return "error";
 
 }),(function(){
@@ -1684,7 +1673,6 @@ return "success";
 ,$ctx1.sendIdx["ifNotEmpty:ifEmpty:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return $1;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"status",{})});
 //>>excludeEnd("ctx");
@@ -1982,8 +1970,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=[(
+return $recv([(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
 //>>excludeEnd("ctx");
@@ -1991,8 +1978,7 @@ $ctx1.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
-][0];
-return $recv($1)._suite_(aCollection);
+][0])._suite_(aCollection);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"on:",{aCollection:aCollection})});
 //>>excludeEnd("ctx");

Some files were not shown because too many files changed in this diff