Browse Source

Not all inlined sends need aliased receiver.

For example, ifTrue:ifFalse: family does not.

OTOH, all ifNil:ifNotNil: ones do,
because if (...) condition uses the receiver twice.
Herby Vojčík 4 years ago
parent
commit
4d1656fb1b

+ 51 - 91
cli/src/AmberCli.js

@@ -289,9 +289,7 @@ var command,selector;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self._commandLineSwitches())._includes_(aSwitch);
-if($core.assert($1)){
+if($core.assert($recv($self._commandLineSwitches())._includes_(aSwitch))){
 selector=$recv($recv(aSwitch)._replace_with_("-[a-z]",(function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -636,9 +634,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self.fs)._existsSync_($self._withBasePath_("index.html"));
-if(!$core.assert($1)){
+if(!$core.assert($recv($self.fs)._existsSync_($self._withBasePath_("index.html")))){
 [$recv(console)._warn_("Warning: project directory does not contain index.html.")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["warn:"]=1
@@ -717,7 +713,6 @@ var uri,filename;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 uri=$recv($self.url)._parse_($recv(aRequest)._url());
 filename=$recv($self.path)._join_with_($self._basePath(),$recv(uri)._pathname());
 $recv($self.fs)._exists_do_(filename,(function(aBoolean){
@@ -725,8 +720,7 @@ $recv($self.fs)._exists_do_(filename,(function(aBoolean){
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 if($core.assert(aBoolean)){
-$1=$recv($recv($self.fs)._statSync_(filename))._isDirectory();
-if($core.assert($1)){
+if($core.assert($recv($recv($self.fs)._statSync_(filename))._isDirectory())){
 return $self._respondDirectoryNamed_from_to_(filename,uri,aResponse);
 } else {
 return $self._respondFileNamed_to_(filename,aResponse);
@@ -787,9 +781,7 @@ var file,stream;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$self._isAuthenticated_(aRequest);
-if(!$core.assert($1)){
+if(!$core.assert($self._isAuthenticated_(aRequest))){
 $self._respondAuthenticationRequiredTo_(aResponse);
 return nil;
 }
@@ -858,8 +850,7 @@ $recv(aRequest)._on_do_("end",(function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv(stream)._writable();
-if($core.assert($2)){
+if($core.assert($recv(stream)._writable())){
 return $recv(stream)._end();
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -889,8 +880,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
-$1=[$recv([$recv(aRequest)._method()
+if($core.assert([$recv([$recv(aRequest)._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["method"]=1
 //>>excludeEnd("ctx");
@@ -898,11 +888,10 @@ $1=[$recv([$recv(aRequest)._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
+][0])){
 $self._handlePUTRequest_respondTo_(aRequest,aResponse);
 }
-$2=[$recv([$recv(aRequest)._method()
+if($core.assert([$recv([$recv(aRequest)._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["method"]=2
 //>>excludeEnd("ctx");
@@ -910,12 +899,10 @@ $2=[$recv([$recv(aRequest)._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=2
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($2)){
+][0])){
 $self._handleGETRequest_respondTo_(aRequest,aResponse);
 }
-$3=$recv($recv(aRequest)._method()).__eq("OPTIONS");
-if($core.assert($3)){
+if($core.assert($recv($recv(aRequest)._method()).__eq("OPTIONS"))){
 $self._handleOPTIONSRequest_respondTo_(aRequest,aResponse);
 }
 return self;
@@ -1031,10 +1018,10 @@ var header,token,auth,parts;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
+var $1,$2;
 var $early={};
 try {
-$1=[$recv([$recv($self.username)._isNil()
+if($core.assert([$recv([$recv($self.username)._isNil()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["isNil"]=1
 //>>excludeEnd("ctx");
@@ -1050,19 +1037,18 @@ return $recv($self.password)._isNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["and:"]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
+][0])){
 return true;
 }
-$2=[$recv($recv(aRequest)._headers())._at_("authorization")
+$1=[$recv($recv(aRequest)._headers())._at_("authorization")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["at:"]=1
 //>>excludeEnd("ctx");
 ][0];
-if($2 == null || $2.a$nil){
+if($1 == null || $1.a$nil){
 header="";
 } else {
-header=$2;
+header=$1;
 }
 $recv(header)._ifEmpty_ifNotEmpty_((function(){
 throw $early=[false];
@@ -1071,15 +1057,15 @@ throw $early=[false];
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$recv(header)._tokenize_(" ")
+$2=[$recv(header)._tokenize_(" ")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["tokenize:"]=1
 //>>excludeEnd("ctx");
 ][0];
-if($3 == null || $3.a$nil){
+if($2 == null || $2.a$nil){
 token="";
 } else {
-token=$3;
+token=$2;
 }
 auth=$self._base64Decode_([$recv(token)._at_((2))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1087,7 +1073,7 @@ auth=$self._base64Decode_([$recv(token)._at_((2))
 //>>excludeEnd("ctx");
 ][0]);
 parts=$recv(auth)._tokenize_(":");
-$4=$recv([$recv($self.username).__eq([$recv(parts)._at_((1))
+if($core.assert($recv([$recv($self.username).__eq([$recv(parts)._at_((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["at:"]=3
 //>>excludeEnd("ctx");
@@ -1103,8 +1089,7 @@ return $recv($self.password).__eq($recv(parts)._at_((2)));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,7)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($4)){
+})))){
 throw $early=[true];
 } else {
 throw $early=[false];
@@ -1268,27 +1253,26 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
-$1=$recv([$recv(aUrl)._pathname()
+var $1,$2,$3;
+if($core.assert($recv([$recv(aUrl)._pathname()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["pathname"]=1
 //>>excludeEnd("ctx");
-][0])._endsWith_("/");
-if($core.assert($1)){
+][0])._endsWith_("/"))){
 $self._respondFileNamed_to_([$recv(aDirname).__comma("index.html")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0],aResponse);
 } else {
-$2=$recv($recv(aUrl)._pathname()).__comma("/");
-$3=$recv(aUrl)._search();
-if($3 == null || $3.a$nil){
-$4="";
+$1=$recv($recv(aUrl)._pathname()).__comma("/");
+$2=$recv(aUrl)._search();
+if($2 == null || $2.a$nil){
+$3="";
 } else {
-$4=$3;
+$3=$2;
 }
-$self._respondRedirect_to_([$recv($2).__comma($4)
+$self._respondRedirect_to_([$recv($1).__comma($3)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
@@ -1318,14 +1302,12 @@ var type,filename;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 filename=aFilename;
 $recv($self.fs)._readFile_do_(filename,(function(ex,file){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(ex)._notNil();
-if($core.assert($1)){
+if($core.assert($recv(ex)._notNil())){
 $recv(console)._log_([$recv(filename).__comma(" does not exist")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx[","]=1
@@ -1334,8 +1316,7 @@ $recv(console)._log_([$recv(filename).__comma(" does not exist")
 return $self._respondNotFoundTo_(aResponse);
 } else {
 type=$recv($self._class())._mimeTypeFor_(filename);
-$2=$recv(type).__eq("application/javascript");
-if($core.assert($2)){
+if($core.assert($recv(type).__eq("application/javascript"))){
 type=$recv(type).__comma(";charset=utf-8");
 type;
 }
@@ -1422,13 +1403,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$self._fallbackPage()
+if(!$core.assert($recv([$self._fallbackPage()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["fallbackPage"]=1
 //>>excludeEnd("ctx");
-][0])._isNil();
-if(!$core.assert($1)){
+][0])._isNil())){
 return $self._respondFileNamed_to_($self._fallbackPage(),aResponse);
 }
 $recv(aResponse)._writeHead_options_((404),$globals.HashedCollection._newFromPairs_(["Content-Type","text/html"]));
@@ -1657,7 +1636,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv($self.fs)._stat_then_([$self._basePath()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["basePath"]=1
@@ -1667,8 +1645,7 @@ $recv($self.fs)._stat_then_([$self._basePath()
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 if(err == null || err.a$nil){
-$1=$recv(stat)._isDirectory();
-if(!$core.assert($1)){
+if(!$core.assert($recv(stat)._isDirectory())){
 return [$recv(console)._warn_([$recv(["Warning: --base-path parameter ".__comma([$self._basePath()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["basePath"]=2
@@ -1830,7 +1807,6 @@ var server,popFront,front,optionName,optionValue,switches;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 var $early={};
 try {
 switches=$self._commandLineSwitches();
@@ -1839,8 +1815,7 @@ $recv(options)._ifEmpty_((function(){
 throw $early=[server];
 
 }));
-$1=$recv($recv(options)._size())._even();
-if(!$core.assert($1)){
+if(!$core.assert($recv($recv(options)._size())._even())){
 [$recv(console)._log_("Using default parameters.")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["log:"]=1
@@ -1895,8 +1870,7 @@ optionName=[$recv(popFront)._value_(options)
 //>>excludeEnd("ctx");
 ][0];
 optionValue=$recv(popFront)._value_(options);
-$2=$recv(switches)._includes_(optionName);
-if($core.assert($2)){
+if($core.assert($recv(switches)._includes_(optionName))){
 optionName=$self._selectorForCommandLineSwitch_(optionName);
 return $recv(server)._perform_withArguments_(optionName,[optionValue]);
 } else {
@@ -2013,7 +1987,6 @@ var fileServer,args;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 args=$recv(process)._argv();
@@ -2022,8 +1995,7 @@ $recv(args)._detect_ifNone_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(each).__eq("--help");
-if($core.assert($1)){
+if($core.assert($recv(each).__eq("--help"))){
 return $recv($globals.FileServer)._printHelp();
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -2227,7 +2199,7 @@ var child,sanitizedTemplatePath;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 sanitizedTemplatePath=[$recv($recv($recv($self.path)._join_with_($self.nmPath,"@ambers/grunt-init-amber-project"))._replace_with_("\x5c\x5c","\x5c\x5c"))._replace_with_(":","\x5c:")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["replace:with:"]=1
@@ -2244,13 +2216,12 @@ $recv($1)._on_do_("close",(function(code){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv(code).__eq((0));
-if($core.assert($2)){
-$3=nil;
+if($core.assert($recv(code).__eq((0)))){
+$2=nil;
 } else {
-$3=code;
+$2=code;
 }
-return $recv(aBlock)._value_($3);
+return $recv(aBlock)._value_($2);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({code:code},$ctx1,1)});
 //>>excludeEnd("ctx");
@@ -2343,7 +2314,6 @@ var modulePath,packageJson,binSection,scriptPath;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 modulePath=$recv($self.path)._dirname_($recv($recv(require)._provided())._resolve_([$recv(aString).__comma("/package.json")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
@@ -2355,8 +2325,7 @@ binSection=[$recv(packageJson)._at_("bin")
 ,$ctx1.sendIdx["at:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$1=$recv(binSection)._isString();
-if($core.assert($1)){
+if($core.assert($recv(binSection)._isString())){
 scriptPath=binSection;
 } else {
 scriptPath=$recv(binSection)._at_(anotherString);
@@ -2823,15 +2792,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 $recv($self._commands())._keysAndValuesDo_((function(names,cmd){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(names)._includes_(aString);
-if($core.assert($1)){
+if($core.assert($recv(names)._includes_(aString))){
 $recv(cmd)._value();
 throw $early=[true];
 }
@@ -3017,8 +2984,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($recv(key)._ctrl())._and_((function(){
+if($core.assert($recv($recv(key)._ctrl())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -3026,8 +2992,7 @@ return $recv($recv(key)._name()).__eq("l");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($1)){
+})))){
 $self._clearScreen();
 }
 return self;
@@ -3054,7 +3019,6 @@ var assignment;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 assignment=$recv($recv(aString)._tokenize_(":="))._collect_((function(s){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -3064,7 +3028,7 @@ return $recv(s)._trimBoth();
 }, function($ctx2) {$ctx2.fillBlock({s:s},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$1=$recv($recv($recv(assignment)._size()).__eq((2)))._and_((function(){
+if($core.assert($recv($recv($recv(assignment)._size()).__eq((2)))._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -3076,8 +3040,7 @@ return $self._isIdentifier_([$recv(assignment)._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($1)){
+})))){
 return [$recv(aBlock)._value_value_($recv(assignment)._first(),$recv(assignment)._last())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value:value:"]=1
@@ -3176,7 +3139,6 @@ var show;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 show=(function(varName,value){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -3186,10 +3148,8 @@ return $self._presentResultNamed_withValue_(varName,value);
 }, function($ctx2) {$ctx2.fillBlock({varName:varName,value:value},$ctx1,1)});
 //>>excludeEnd("ctx");
 });
-$1=$self._executeCommand_(buffer);
-if(!$core.assert($1)){
-$2=$self._isVariableDefined_(buffer);
-if($core.assert($2)){
+if(!$core.assert($self._executeCommand_(buffer))){
+if($core.assert($self._isVariableDefined_(buffer))){
 $recv(show)._value_value_(buffer,$recv($self.session)._perform_(buffer));
 } else {
 $self._assignNewVariable_do_(buffer,show);

+ 3 - 9
lang/src/Compiler-Core.js

@@ -1040,7 +1040,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv(aClass)._includingPossibleMetaDo_((function(eachSide){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -1049,8 +1048,7 @@ return $recv($recv($recv(eachSide)._methodDictionary())._values())._do_displayin
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=$recv($recv(each)._origin()).__eq(eachSide);
-if($core.assert($1)){
+if($core.assert($recv($recv(each)._origin()).__eq(eachSide))){
 return $self._install_forClass_protocol_($recv(each)._source(),eachSide,$recv(each)._protocol());
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1551,9 +1549,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._canProcessPragma_(aMessage);
-if($core.assert($1)){
+if($core.assert($self._canProcessPragma_(aMessage))){
 return $recv(aMessage)._sendTo_(self);
 }
 return self;
@@ -1611,9 +1607,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($recv($globals.Smalltalk)._reservedWords())._includes_(self);
-if($core.assert($1)){
+if($core.assert($recv($recv($globals.Smalltalk)._reservedWords())._includes_(self))){
 return $self.__comma("_");
 } else {
 return self;

+ 69 - 104
lang/src/Compiler-IR.js

@@ -24,12 +24,10 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 if(anInstruction == null || anInstruction.a$nil){
 anInstruction;
 } else {
-$1=$recv(anInstruction)._isVariable();
-if(!$core.assert($1)){
+if(!$core.assert($recv(anInstruction)._isVariable())){
 $recv($self._sequence())._add_(anInstruction);
 }
 }
@@ -57,9 +55,7 @@ var assignment;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(anExpressionNode)._isIdempotent();
-if($core.assert($1)){
+if($core.assert($recv(anExpressionNode)._isIdempotent())){
 return [$self._visit_(anExpressionNode)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["visit:"]=1
@@ -92,23 +88,21 @@ var threshold,shouldAlias;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5,$6;
+var $1,$2;
 shouldAlias=false;
 threshold=$recv($recv(aCollection)._reversed())._detect_ifNone_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=shouldAlias;
-if($core.assert($1)){
+if($core.assert(shouldAlias)){
 return true;
 } else {
-$2=$recv(each)._hasOpeningStatements();
-if($core.assert($2)){
-$3=true;
+if($core.assert($recv(each)._hasOpeningStatements())){
+$1=true;
 } else {
-$3=$recv(each)._subtreeNeedsAliasing();
+$1=$recv(each)._subtreeNeedsAliasing();
 }
-if($core.assert($3)){
+if($core.assert($1)){
 shouldAlias=true;
 shouldAlias;
 }
@@ -121,21 +115,19 @@ return $recv(each)._shouldBeAliased();
 return nil;
 
 }));
-$4=threshold;
-if($4 == null || $4.a$nil){
+$2=threshold;
+if($2 == null || $2.a$nil){
 return $self._visitAll_(aCollection);
 } else {
-$4;
+$2;
 }
 shouldAlias=true;
 return $recv(aCollection)._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$5=shouldAlias;
-if($core.assert($5)){
-$6=$recv(each).__eq_eq(threshold);
-if($core.assert($6)){
+if($core.assert(shouldAlias)){
+if($core.assert($recv(each).__eq_eq(threshold))){
 shouldAlias=false;
 shouldAlias;
 }
@@ -424,7 +416,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 return $self._withSequence_do_([$recv($globals.IRBlockSequence)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["new"]=1
@@ -462,7 +454,7 @@ return [$self._addToSequence_([$self._visit_(each)
 }, function($ctx4) {$ctx4.fillBlock({each:each},$ctx3,3)});
 //>>excludeEnd("ctx");
 }));
-$1=$recv([$recv([$recv(aNode)._dagChildren()
+if($core.assert($recv([$recv([$recv(aNode)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["dagChildren"]=3
 //>>excludeEnd("ctx");
@@ -470,12 +462,11 @@ $1=$recv([$recv([$recv(aNode)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["last"]=1
 //>>excludeEnd("ctx");
-][0])._isReturnNode();
-if($core.assert($1)){
+][0])._isReturnNode())){
 return $self._addToSequence_($self._visit_($recv($recv(aNode)._dagChildren())._last()));
 } else {
-$2=$recv($globals.IRBlockReturn)._new();
-$recv($2)._add_([$self._visit_([$recv([$recv(aNode)._dagChildren()
+$1=$recv($globals.IRBlockReturn)._new();
+$recv($1)._add_([$self._visit_([$recv([$recv(aNode)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["dagChildren"]=4
 //>>excludeEnd("ctx");
@@ -488,7 +479,7 @@ $recv($2)._add_([$self._visit_([$recv([$recv(aNode)._dagChildren()
 ,$ctx3.sendIdx["visit:"]=2
 //>>excludeEnd("ctx");
 ][0]);
-return [$self._addToSequence_($recv($2)._yourself())
+return [$self._addToSequence_($recv($1)._yourself())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx3.sendIdx["addToSequence:"]=2
 //>>excludeEnd("ctx");
@@ -525,10 +516,8 @@ var receiver;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 receiver=$recv(aNode)._receiver();
-$1=$recv(receiver)._isIdempotent();
-if(!$core.assert($1)){
+if(!$core.assert($recv(receiver)._isIdempotent())){
 var alias;
 alias=$self._alias_(receiver);
 receiver=$recv($recv($globals.VariableNode)._new())._binding_($recv(alias)._variable());
@@ -686,7 +675,7 @@ var irSequence;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5,$6,$7,$8,$9;
+var $1,$2,$3,$4,$5,$6,$7;
 $1=[$recv($globals.IRMethod)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["new"]=1
@@ -713,8 +702,7 @@ return $recv($globals.Message)._selector_arguments_([$recv(each)._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$2=$recv(eachArg)._isString();
-if($core.assert($2)){
+if($core.assert($recv(eachArg)._isString())){
 return $recv(eachArg)._crlfSanitized();
 } else {
 return eachArg;
@@ -759,23 +747,23 @@ $recv($recv([$recv(aNode)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=[$self._method()
+$2=[$self._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["method"]=1
 //>>excludeEnd("ctx");
 ][0];
-$4=[$recv($globals.IRTempDeclaration)._new()
+$3=[$recv($globals.IRTempDeclaration)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=2
 //>>excludeEnd("ctx");
 ][0];
-$recv($4)._name_($recv(each)._name());
-$recv($4)._scope_([$recv(aNode)._scope()
+$recv($3)._name_($recv(each)._name());
+$recv($3)._scope_([$recv(aNode)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["scope"]=3
 //>>excludeEnd("ctx");
 ][0]);
-return [$recv($3)._add_([$recv($4)._yourself()
+return [$recv($2)._add_([$recv($3)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["yourself"]=2
 //>>excludeEnd("ctx");
@@ -788,37 +776,36 @@ return [$recv($3)._add_([$recv($4)._yourself()
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,5)});
 //>>excludeEnd("ctx");
 }));
-$5=[$self._method()
+$4=[$self._method()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["method"]=2
 //>>excludeEnd("ctx");
 ][0];
 irSequence=$self._visit_($recv(aNode)._sequenceNode());
-[$recv($5)._add_(irSequence)
+[$recv($4)._add_(irSequence)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["add:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$6=$recv([$recv(aNode)._scope()
+if(!$core.assert($recv([$recv(aNode)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=4
 //>>excludeEnd("ctx");
-][0])._hasLocalReturn();
-if(!$core.assert($6)){
-$7=irSequence;
-$8=[$recv($globals.IRReturn)._new()
+][0])._hasLocalReturn())){
+$5=irSequence;
+$6=[$recv($globals.IRReturn)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["new"]=3
 //>>excludeEnd("ctx");
 ][0];
-$9=$recv($globals.IRVariable)._new();
-$recv($9)._variable_($recv($recv($recv(aNode)._scope())._pseudoVars())._at_("self"));
-$recv($8)._add_([$recv($9)._yourself()
+$7=$recv($globals.IRVariable)._new();
+$recv($7)._variable_($recv($recv($recv(aNode)._scope())._pseudoVars())._at_("self"));
+$recv($6)._add_([$recv($7)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=3
 //>>excludeEnd("ctx");
 ][0]);
-[$recv($7)._add_($recv($8)._yourself())
+[$recv($5)._add_($recv($6)._yourself())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["add:"]=3
 //>>excludeEnd("ctx");
@@ -847,20 +834,19 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$recv(aNode)._nonLocalReturn();
-if($core.assert($1)){
-$2=[$recv($globals.IRNonLocalReturn)._new()
+var $1;
+if($core.assert($recv(aNode)._nonLocalReturn())){
+$1=[$recv($globals.IRNonLocalReturn)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["new"]=1
 //>>excludeEnd("ctx");
 ][0];
 } else {
-$2=$recv($globals.IRReturn)._new();
+$1=$recv($globals.IRReturn)._new();
 }
-$recv($2)._scope_($recv(aNode)._scope());
-$recv($2)._add_($self._visit_($recv(aNode)._expression()));
-return $recv($2)._yourself();
+$recv($1)._scope_($recv(aNode)._scope());
+$recv($1)._add_($self._visit_($recv(aNode)._expression()));
+return $recv($1)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"visitReturnNode:",{aNode:aNode})});
 //>>excludeEnd("ctx");
@@ -3081,7 +3067,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 $1=[$recv([$self._variable()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["variable"]=1
@@ -3104,13 +3090,12 @@ $ctx1.supercall = true,
 } else {
 var receiverVar;
 receiverVar=$1;
-$2=$recv($self._variable()).__eq_eq(receiverVar);
-if($core.assert($2)){
+if($core.assert($recv($self._variable()).__eq_eq(receiverVar))){
 return self;
 }
-$3=$self._copy();
-$recv($3)._variable_(receiverVar);
-return $recv($3)._yourself();
+$2=$self._copy();
+$recv($2)._variable_(receiverVar);
+return $recv($2)._yourself();
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3884,23 +3869,21 @@ var receiver;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
+var $1,$2;
 receiver=$recv(anIRSend)._receiver();
-$1=$recv(receiver)._isSuper();
-if($core.assert($1)){
-$2=$recv([$recv(anIRSend)._selector()
+if($core.assert($recv(receiver)._isSuper())){
+if($core.assert($recv([$recv(anIRSend)._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0]).__eq($self._selector());
-if($core.assert($2)){
+][0]).__eq($self._selector()))){
 var old;
 old=$recv(receiver)._variable();
-$3=receiver;
-$4=$recv($globals.JavaScriptSuperVar)._new();
-$recv($4)._scope_($recv(old)._scope());
-$recv($4)._name_($recv(old)._name());
-$recv($3)._variable_($recv($4)._yourself());
+$1=receiver;
+$2=$recv($globals.JavaScriptSuperVar)._new();
+$recv($2)._scope_($recv(old)._scope());
+$recv($2)._name_($recv(old)._name());
+$recv($1)._variable_($recv($2)._yourself());
 $recv(anIRSend)._javaScriptSelector_($self._property());
 }
 }
@@ -4225,7 +4208,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv([$self._stream()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["stream"]=1
@@ -4284,8 +4266,7 @@ return $recv($recv(each)._variable())._alias();
 }, function($ctx4) {$ctx4.fillBlock({internalVars:internalVars},$ctx3,4)});
 //>>excludeEnd("ctx");
 }));
-$1=$recv($recv(anIRMethod)._scope())._hasNonLocalReturn();
-if($core.assert($1)){
+if($core.assert($recv($recv(anIRMethod)._scope())._hasNonLocalReturn())){
 return $recv($self._stream())._nextPutNonLocalReturnHandlingWith_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
@@ -4427,7 +4408,6 @@ var prefixes,suffixes,workBlock;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 prefixes=[];
 suffixes=[];
 workBlock=(function(){
@@ -4439,7 +4419,7 @@ return $self._visitSend_(anIRSend);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
 });
-$1=$recv([$recv(anIRSend)._index()
+if($core.assert($recv([$recv(anIRSend)._index()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["index"]=1
 //>>excludeEnd("ctx");
@@ -4447,8 +4427,7 @@ $1=$recv([$recv(anIRSend)._index()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
-][0]))._size());
-if($core.assert($1)){
+][0]))._size()))){
 [$recv(suffixes)._add_([$recv([$recv([$recv([$recv([$recv([$recv(anIRSend)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
@@ -4479,8 +4458,7 @@ if($core.assert($1)){
 //>>excludeEnd("ctx");
 ][0];
 }
-$2=$recv($recv(anIRSend)._receiver())._isSuper();
-if($core.assert($2)){
+if($core.assert($recv($recv(anIRSend)._receiver())._isSuper())){
 [$recv(prefixes)._add_([$recv([$recv([$recv(anIRSend)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=2
@@ -4995,9 +4973,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(suffixCollection)._isEmpty();
-if($core.assert($1)){
+if($core.assert($recv(suffixCollection)._isEmpty())){
 [$self._nextPutBefore_with_(prefixCollection,aBlock)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["nextPutBefore:with:"]=1
@@ -5079,9 +5055,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(aCollection)._isEmpty();
-if($core.assert($1)){
+if($core.assert($recv(aCollection)._isEmpty())){
 [$recv(aBlock)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value"]=1
@@ -5163,9 +5137,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(anIRClosure)._requiresSmalltalkContext();
-if(!$core.assert($1)){
+if(!$core.assert($recv(anIRClosure)._requiresSmalltalkContext())){
 return [$recv(aBlock)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value"]=1
@@ -5418,9 +5390,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(aMethod)._requiresSmalltalkContext();
-if(!$core.assert($1)){
+if(!$core.assert($recv(aMethod)._requiresSmalltalkContext())){
 return [$recv(aBlock)._value()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["value"]=1
@@ -5881,15 +5851,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [$self._omitSemicolon_(false)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["omitSemicolon:"]=1
 //>>excludeEnd("ctx");
 ][0];
 $recv(aBlock)._value();
-$1=$self._omitSemicolon();
-if(!$core.assert($1)){
+if(!$core.assert($self._omitSemicolon())){
 $recv($self.stream)._nextPutAll_(";");
 }
 $self._omitSemicolon_(false);
@@ -6125,17 +6093,14 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 return $recv($self._dagChildren())._anySatisfy_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(each)._shouldBeAliased();
-if($core.assert($1)){
+if($core.assert($recv(each)._shouldBeAliased())){
 return true;
 } else {
-$2=$recv(each)._hasOpeningStatements();
-if($core.assert($2)){
+if($core.assert($recv(each)._hasOpeningStatements())){
 return true;
 } else {
 return $recv(each)._subtreeNeedsAliasing();

+ 51 - 44
lang/src/Compiler-Inlining.js

@@ -11,36 +11,44 @@ selector: "visitSendNode:",
 protocol: "visiting",
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aNode"],
-source: "visitSendNode: aNode\x0a\x0a\x09aNode superSend ifFalse: [ \x0a\x09\x09(IRSendInliner inlinedSelectors includes: aNode selector) ifTrue: [\x0a\x09\x09\x09aNode shouldBeAliased: true.\x0a\x09\x09\x09aNode receiver ifNotNil: [ :receiver |\x0a\x09\x09\x09\x09receiver shouldBeAliased: true ] ] ].\x0a\x0a\x09^ super visitSendNode: aNode",
+source: "visitSendNode: aNode\x0a\x0a\x09aNode superSend ifFalse: [ \x0a\x09\x09(IRSendInliner inlinedSelectors includes: aNode selector) ifTrue: [\x0a\x09\x09\x09aNode shouldBeAliased: true.\x0a\x09\x09\x09aNode receiver ifNotNil: [ :receiver |\x0a\x09\x09\x09\x09(IRSendInliner inlinedSelectorsNeedingIdempotentReceiver includes: aNode selector) ifTrue: [\x0a\x09\x09\x09\x09\x09receiver shouldBeAliased: true ] ] ] ].\x0a\x0a\x09^ super visitSendNode: aNode",
 referencedClasses: ["IRSendInliner"],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["ifFalse:", "superSend", "ifTrue:", "includes:", "inlinedSelectors", "selector", "shouldBeAliased:", "ifNotNil:", "receiver", "visitSendNode:"]
+messageSends: ["ifFalse:", "superSend", "ifTrue:", "includes:", "inlinedSelectors", "selector", "shouldBeAliased:", "ifNotNil:", "receiver", "inlinedSelectorsNeedingIdempotentReceiver", "visitSendNode:"]
 }, function ($methodClass){ return function (aNode){
 var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
-$1=$recv(aNode)._superSend();
-if(!$core.assert($1)){
-$2=$recv($recv($globals.IRSendInliner)._inlinedSelectors())._includes_($recv(aNode)._selector());
-if($core.assert($2)){
+var $1;
+if(!$core.assert($recv(aNode)._superSend())){
+if($core.assert([$recv($recv($globals.IRSendInliner)._inlinedSelectors())._includes_([$recv(aNode)._selector()
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+,$ctx1.sendIdx["selector"]=1
+//>>excludeEnd("ctx");
+][0])
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+,$ctx1.sendIdx["includes:"]=1
+//>>excludeEnd("ctx");
+][0])){
 [$recv(aNode)._shouldBeAliased_(true)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["shouldBeAliased:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$3=$recv(aNode)._receiver();
-if($3 == null || $3.a$nil){
-$3;
+$1=$recv(aNode)._receiver();
+if($1 == null || $1.a$nil){
+$1;
 } else {
 var receiver;
-receiver=$3;
+receiver=$1;
+if($core.assert($recv($recv($globals.IRSendInliner)._inlinedSelectorsNeedingIdempotentReceiver())._includes_($recv(aNode)._selector()))){
 $recv(receiver)._shouldBeAliased_(true);
 }
 }
 }
+}
 return [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -626,9 +634,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._shouldInlineAssignment_(anIRAssignment);
-if($core.assert($1)){
+if($core.assert($self._shouldInlineAssignment_(anIRAssignment))){
 return $recv($self._assignmentInliner())._inlineAssignment_(anIRAssignment);
 } else {
 return [(
@@ -663,13 +669,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$recv([$recv(anIRNonLocalReturn)._scope()
+if($core.assert($recv([$recv(anIRNonLocalReturn)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["scope"]=1
 //>>excludeEnd("ctx");
-][0])._canFlattenNonLocalReturns();
-if($core.assert($1)){
+][0])._canFlattenNonLocalReturns())){
 var localReturn;
 $recv($recv([$recv(anIRNonLocalReturn)._scope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -680,8 +684,7 @@ localReturn=$self._flattenedReturn_(anIRNonLocalReturn);
 $recv(anIRNonLocalReturn)._replaceWith_(localReturn);
 return $self._visitIRReturn_(localReturn);
 }
-$2=$self._shouldInlineReturn_(anIRNonLocalReturn);
-if($core.assert($2)){
+if($core.assert($self._shouldInlineReturn_(anIRNonLocalReturn))){
 return $recv($self._nonLocalReturnInliner())._inlineReturn_(anIRNonLocalReturn);
 } else {
 return [(
@@ -716,9 +719,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._shouldInlineReturn_(anIRReturn);
-if($core.assert($1)){
+if($core.assert($self._shouldInlineReturn_(anIRReturn))){
 return $recv($self._returnInliner())._inlineReturn_(anIRReturn);
 } else {
 return [(
@@ -753,9 +754,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._shouldInlineSend_(anIRSend);
-if($core.assert($1)){
+if($core.assert($self._shouldInlineSend_(anIRSend))){
 return $recv($self._sendInliner())._inlineSend_(anIRSend);
 } else {
 return [(
@@ -1602,7 +1601,7 @@ var sequence,final;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 sequence=$recv(closure)._sequence();
 $recv([$recv(sequence)._dagChildren()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1621,8 +1620,7 @@ return $recv($1)._add_($recv($2)._yourself());
 //>>excludeEnd("ctx");
 }));
 final=$recv($recv(sequence)._dagChildren())._last();
-$3=$recv(final)._yieldsValue();
-if($core.assert($3)){
+if($core.assert($recv(final)._yieldsValue())){
 $recv(sequence)._replace_with_(final,$recv(aBlock)._value_(final));
 }
 return closure;
@@ -1795,17 +1793,14 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$recv(anIRInstruction)._isClosure();
-if(!$core.assert($1)){
+if(!$core.assert($recv(anIRInstruction)._isClosure())){
 [$self._inliningError_("Message argument should be a block")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["inliningError:"]=1
 //>>excludeEnd("ctx");
 ][0];
 }
-$2=$recv($recv($recv(anIRInstruction)._arguments())._size()).__eq((0));
-if(!$core.assert($2)){
+if(!$core.assert($recv($recv($recv(anIRInstruction)._arguments())._size()).__eq((0)))){
 $self._inliningError_("Inlined block should have zero argument");
 }
 return self;
@@ -1831,17 +1826,14 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$recv(anIRInstruction)._isClosure();
-if(!$core.assert($1)){
+if(!$core.assert($recv(anIRInstruction)._isClosure())){
 [$self._inliningError_("Message argument should be a block")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["inliningError:"]=1
 //>>excludeEnd("ctx");
 ][0];
 }
-$2=$recv($recv($recv(anIRInstruction)._arguments())._size()).__lt_eq((1));
-if(!$core.assert($2)){
+if(!$core.assert($recv($recv($recv(anIRInstruction)._arguments())._size()).__lt_eq((1)))){
 $self._inliningError_("Inlined block should have at most one argument");
 }
 return self;
@@ -1944,6 +1936,24 @@ return ["ifTrue:", "ifFalse:", "ifTrue:ifFalse:", "ifFalse:ifTrue:", "ifNil:", "
 }; }),
 $globals.IRSendInliner.a$cls);
 
+$core.addMethod(
+$core.method({
+selector: "inlinedSelectorsNeedingIdempotentReceiver",
+protocol: "accessing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "inlinedSelectorsNeedingIdempotentReceiver\x0a\x09^ #('ifNil:' 'ifNotNil:' 'ifNil:ifNotNil:' 'ifNotNil:ifNil:')",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: []
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+return ["ifNil:", "ifNotNil:", "ifNil:ifNotNil:", "ifNotNil:ifNil:"];
+
+}; }),
+$globals.IRSendInliner.a$cls);
+
 $core.addMethod(
 $core.method({
 selector: "shouldInline:",
@@ -1960,13 +1970,10 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$recv($self._inlinedSelectors())._includes_($recv(anIRSend)._selector());
-if(!$core.assert($1)){
+if(!$core.assert($recv($self._inlinedSelectors())._includes_($recv(anIRSend)._selector()))){
 return false;
 }
-$2=$recv($recv(anIRSend)._receiver())._isSuper();
-if($core.assert($2)){
+if($core.assert($recv($recv(anIRSend)._receiver())._isSuper())){
 return false;
 }
 return $recv($recv(anIRSend)._arguments())._allSatisfy_((function(each){

+ 6 - 1
lang/src/Compiler-Inlining.st

@@ -11,7 +11,8 @@ visitSendNode: aNode
 		(IRSendInliner inlinedSelectors includes: aNode selector) ifTrue: [
 			aNode shouldBeAliased: true.
 			aNode receiver ifNotNil: [ :receiver |
-				receiver shouldBeAliased: true ] ] ].
+				(IRSendInliner inlinedSelectorsNeedingIdempotentReceiver includes: aNode selector) ifTrue: [
+					receiver shouldBeAliased: true ] ] ] ].
 
 	^ super visitSendNode: aNode
 ! !
@@ -492,6 +493,10 @@ inlinedSelectors
 	^ #('ifTrue:' 'ifFalse:' 'ifTrue:ifFalse:' 'ifFalse:ifTrue:' 'ifNil:' 'ifNotNil:' 'ifNil:ifNotNil:' 'ifNotNil:ifNil:')
 !
 
+inlinedSelectorsNeedingIdempotentReceiver
+	^ #('ifNil:' 'ifNotNil:' 'ifNil:ifNotNil:' 'ifNotNil:ifNil:')
+!
+
 shouldInline: anIRSend
 	(self inlinedSelectors includes: anIRSend selector) ifFalse: [ ^ false ].
 	anIRSend receiver isSuper ifTrue: [ ^ false ].

+ 28 - 46
lang/src/Compiler-Interpreter.js

@@ -388,23 +388,22 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
-$1=$self._isBlockContext();
-if($core.assert($1)){
-$2=$self._outerContext();
-if($2 == null || $2.a$nil){
-return $2;
+var $1,$2;
+if($core.assert($self._isBlockContext())){
+$1=$self._outerContext();
+if($1 == null || $1.a$nil){
+return $1;
 } else {
 var context;
-context=$2;
+context=$1;
 return $recv(context)._ast();
 }
 }
-$3=$self.ast;
-if($3 == null || $3.a$nil){
+$2=$self.ast;
+if($2 == null || $2.a$nil){
 $self._initializeAST();
 } else {
-$3;
+$2;
 }
 return $self.ast;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1826,13 +1825,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1;
 $self.result=$recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=1
 //>>excludeEnd("ctx");
 ][0])._result();
-$1=[$recv([$self._interpreter()
+if($core.assert([$recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=2
 //>>excludeEnd("ctx");
@@ -1840,22 +1839,20 @@ $1=[$recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["atEnd"]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
-$2=$recv($self._context())._outerContext();
-if($2 == null || $2.a$nil){
-$2;
+][0])){
+$1=$recv($self._context())._outerContext();
+if($1 == null || $1.a$nil){
+$1;
 } else {
 var outerContext;
-outerContext=$2;
+outerContext=$1;
 $self._context_(outerContext);
 }
-$3=$recv([$self._interpreter()
+if(!$core.assert($recv([$self._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=3
 //>>excludeEnd("ctx");
-][0])._atEnd();
-if(!$core.assert($3)){
+][0])._atEnd())){
 $recv($self._interpreter())._skip();
 }
 }
@@ -1990,9 +1987,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self._context())._isTopContext();
-if($core.assert($1)){
+if($core.assert($recv($self._context())._isTopContext())){
 $recv($self._interpreter())._stepOver();
 } else {
 $recv([$self._interpreter()
@@ -2239,9 +2234,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self.forceAtEnd;
-if($core.assert($1)){
+if($core.assert($self.forceAtEnd)){
 return true;
 }
 return $recv($self._hasReturned())._or_((function(){
@@ -2786,9 +2779,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._hasReturned();
-if($core.assert($1)){
+if($core.assert($self._hasReturned())){
 return $self._returnValue();
 } else {
 return $recv($self._context())._receiver();
@@ -2900,13 +2891,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$recv(aContext)._interpreter()
+if($core.assert($recv([$recv(aContext)._interpreter()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["interpreter"]=1
 //>>excludeEnd("ctx");
-][0])._hasReturned();
-if($core.assert($1)){
+][0])._hasReturned())){
 $self.returned=true;
 $self._returnValue_($recv($recv(aContext)._interpreter())._returnValue());
 }
@@ -3069,9 +3058,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._hasReturned();
-if(!$core.assert($1)){
+if(!$core.assert($self._hasReturned())){
 [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -3335,7 +3322,6 @@ var receiver,args,message,result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 args=$recv($recv(aNode)._arguments())._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -3352,8 +3338,7 @@ return [$self._pop()
 receiver=$self._peek();
 message=$self._messageFromSendNode_arguments_(aNode,$recv(args)._reversed());
 result=$self._sendMessage_to_superSend_(message,receiver,$recv(aNode)._superSend());
-$1=$recv(aNode)._isSideEffect();
-if(!$core.assert($1)){
+if(!$core.assert($recv(aNode)._isSideEffect())){
 $self._pop();
 $self._push_(result);
 }
@@ -3605,7 +3590,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -3615,7 +3599,7 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-$1=[$recv([$self._selector()
+if($core.assert([$recv([$self._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["selector"]=1
 //>>excludeEnd("ctx");
@@ -3623,10 +3607,8 @@ $1=[$recv([$self._selector()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
-$2=$recv($self._trackedIndex()).__eq($self._index());
-if($core.assert($2)){
+][0])){
+if($core.assert($recv($self._trackedIndex()).__eq($self._index()))){
 $self.currentNode=aNode;
 $self.currentNode;
 }

+ 14 - 21
lang/src/Compiler-Semantic.js

@@ -572,7 +572,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 $1=[$self._outerScope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["outerScope"]=1
@@ -583,8 +583,7 @@ return (1);
 } else {
 $1;
 }
-$2=$self._isInlined();
-if($core.assert($2)){
+if($core.assert($self._isInlined())){
 return [$recv([$self._outerScope()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["outerScope"]=2
@@ -1679,27 +1678,26 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
-$1=$recv(aString)._isCapitalized();
-if($core.assert($1)){
+var $1,$2;
+if($core.assert($recv(aString)._isCapitalized())){
 $recv($self._classReferences())._add_(aString);
-$2=[$recv($globals.ClassRefVar)._new()
+$1=[$recv($globals.ClassRefVar)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["new"]=1
 //>>excludeEnd("ctx");
 ][0];
-[$recv($2)._name_(aString)
+[$recv($1)._name_(aString)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name:"]=1
 //>>excludeEnd("ctx");
 ][0];
-return [$recv($2)._yourself()
+return [$recv($1)._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
 ][0];
 }
-$3=$recv($recv($recv($globals.Smalltalk)._globalJsVariables())._includes_(aString))._or_((function(){
+if($core.assert($recv($recv($recv($globals.Smalltalk)._globalJsVariables())._includes_(aString))._or_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -1707,11 +1705,10 @@ return $self._isVariableKnown_inPackage_(aString,$self._thePackage());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($3)){
-$4=$recv($globals.ExternallyKnownVar)._new();
-$recv($4)._name_(aString);
-return $recv($4)._yourself();
+})))){
+$2=$recv($globals.ExternallyKnownVar)._new();
+$recv($2)._name_(aString);
+return $recv($2)._yourself();
 }
 $self._errorUnknownVariable_(aString);
 return self;
@@ -2178,7 +2175,6 @@ var lhs;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -2189,8 +2185,7 @@ $ctx1.supercall = true,
 //>>excludeEnd("ctx");
 ][0];
 lhs=$recv(aNode)._left();
-$1=$recv(lhs)._isAssignable();
-if(!$core.assert($1)){
+if(!$core.assert($recv(lhs)._isAssignable())){
 $self._errorInvalidAssignment_($recv(lhs)._identifier());
 }
 $recv(lhs)._assigned_(true);
@@ -2371,10 +2366,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv(aNode)._scope_($self.currentScope);
-$1=$recv($self.currentScope)._isMethodScope();
-if($core.assert($1)){
+if($core.assert($recv($self.currentScope)._isMethodScope())){
 $recv($self.currentScope)._localReturn_(true);
 } else {
 $recv($recv($self.currentScope)._methodScope())._addNonLocalReturn_($self.currentScope);

+ 1 - 3
lang/src/Kernel-Announcements.js

@@ -66,9 +66,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._handlesAnnouncement_(anAnnouncement);
-if($core.assert($1)){
+if($core.assert($self._handlesAnnouncement_(anAnnouncement))){
 $recv($self._valuable())._value_(anAnnouncement);
 }
 return self;

+ 20 - 31
lang/src/Kernel-Classes.js

@@ -563,7 +563,6 @@ var lookupClass;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 lookupClass=self;
@@ -579,8 +578,7 @@ return $recv(lookupClass).__eq(nil);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(lookupClass)._includesSelector_(selector);
-if($core.assert($1)){
+if($core.assert($recv(lookupClass)._includesSelector_(selector))){
 throw $early=[$recv(lookupClass)._methodAt_(selector)];
 }
 lookupClass=$recv(lookupClass)._superclass();
@@ -1418,7 +1416,7 @@ var theClass,thePackage;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 theClass=$recv($recv($globals.Smalltalk)._globals())._at_(className);
 thePackage=$recv($globals.Package)._named_(packageName);
 $1=theClass;
@@ -1426,14 +1424,13 @@ if($1 == null || $1.a$nil){
 $1;
 } else {
 $recv(theClass)._package_(thePackage);
-$2=$recv($recv(theClass)._superclass()).__eq_eq(aClass);
-if(!$core.assert($2)){
+if(!$core.assert($recv($recv(theClass)._superclass()).__eq_eq(aClass))){
 return $self._migrateClassNamed_superclass_instanceVariableNames_package_(className,aClass,aCollection,packageName);
 }
 }
-$3=$self._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,className,aCollection,packageName);
-$recv($3)._recompile();
-return $recv($3)._yourself();
+$2=$self._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,className,aCollection,packageName);
+$recv($2)._recompile();
+return $recv($2)._yourself();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,className:className,aCollection:aCollection,packageName:packageName,theClass:theClass,thePackage:thePackage})});
 //>>excludeEnd("ctx");
@@ -1542,9 +1539,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(aClass)._isMetaclass();
-if(!$core.assert($1)){
+if(!$core.assert($recv(aClass)._isMetaclass())){
 $self._error_($recv($recv(aClass)._name()).__comma(" is not a metaclass"));
 }
 $recv($recv($globals.Smalltalk)._core())._setSlots_to_(aClass,aCollection);
@@ -1711,7 +1706,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 $recv(anotherClass)._comment_($recv(aClass)._comment());
 [$recv([$recv(aClass)._methodDictionary()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1721,7 +1715,7 @@ $recv(anotherClass)._comment_($recv(aClass)._comment());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv([$recv(each)._origin()
+if($core.assert([$recv([$recv(each)._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["origin"]=1
 //>>excludeEnd("ctx");
@@ -1729,8 +1723,7 @@ $1=[$recv([$recv(each)._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
+][0])){
 return [$recv([$recv($globals.Compiler)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["new"]=1
@@ -1783,12 +1776,11 @@ $recv($recv([$recv(aClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv($recv(each)._origin()).__eq([$recv(aClass)._class()
+if($core.assert($recv($recv(each)._origin()).__eq([$recv(aClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["class"]=4
 //>>excludeEnd("ctx");
-][0]);
-if($core.assert($2)){
+][0]))){
 return $recv($recv($globals.Compiler)._new())._install_forClass_protocol_($recv(each)._source(),[$recv(anotherClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["class"]=5
@@ -2826,9 +2818,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(aString)._beginsWith_("*");
-if(!$core.assert($1)){
+if(!$core.assert($recv(aString)._beginsWith_("*"))){
 return $self._package();
 }
 return $recv($globals.Package)._named_ifAbsent_($recv(aString)._allButFirst(),(function(){
@@ -3483,24 +3473,23 @@ var oldPackage;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
-$1=$recv([$self._package()
+var $1,$2;
+if($core.assert($recv([$self._package()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["package"]=1
 //>>excludeEnd("ctx");
-][0]).__eq(aPackage);
-if($core.assert($1)){
+][0]).__eq(aPackage))){
 return self;
 }
 oldPackage=$self._package();
 $self._leaveOrganization();
 $self._basicAt_put_("category",$recv(aPackage)._name());
 $self._enterOrganization();
-$2=$recv($globals.SystemAnnouncer)._current();
-$3=$recv($globals.ClassMoved)._new();
-$recv($3)._theClass_(self);
-$recv($3)._oldPackage_(oldPackage);
-$recv($2)._announce_($recv($3)._yourself());
+$1=$recv($globals.SystemAnnouncer)._current();
+$2=$recv($globals.ClassMoved)._new();
+$recv($2)._theClass_(self);
+$recv($2)._oldPackage_(oldPackage);
+$recv($1)._announce_($recv($2)._yourself());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage,oldPackage:oldPackage})});

+ 66 - 156
lang/src/Kernel-Collections.js

@@ -521,15 +521,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(aBlock)._value_(each);
-if(!$core.assert($1)){
+if(!$core.assert($recv(aBlock)._value_(each))){
 throw $early=[false];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -601,15 +599,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(aBlock)._value_(each);
-if($core.assert($1)){
+if($core.assert($recv(aBlock)._value_(each))){
 throw $early=[true];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -949,15 +945,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(aBlock)._value_(each);
-if($core.assert($1)){
+if($core.assert($recv(aBlock)._value_(each))){
 throw $early=[each];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1076,9 +1070,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isEmpty();
-if($core.assert($1)){
+if($core.assert($self._isEmpty())){
 return $recv(aBlock)._value();
 } else {
 return self;
@@ -1105,9 +1097,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isEmpty();
-if($core.assert($1)){
+if($core.assert($self._isEmpty())){
 return $recv(aBlock)._value();
 } else {
 return $recv(anotherBlock)._value_(self);
@@ -1134,9 +1124,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._notEmpty();
-if($core.assert($1)){
+if($core.assert($self._notEmpty())){
 return $recv(aBlock)._value_(self);
 } else {
 return self;
@@ -1163,9 +1151,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._notEmpty();
-if($core.assert($1)){
+if($core.assert($self._notEmpty())){
 return $recv(aBlock)._value_(self);
 } else {
 return $recv(anotherBlock)._value();
@@ -1259,14 +1245,13 @@ var set,outputSet;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-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");
-$1=$recv([$recv(set)._includes_(each)
+if($core.assert($recv([$recv(set)._includes_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["includes:"]=1
 //>>excludeEnd("ctx");
@@ -1278,8 +1263,7 @@ return $recv($recv(outputSet)._includes_(each))._not();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($1)){
+})))){
 return $recv(outputSet)._add_(each);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1332,15 +1316,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 $self._do_((function(item){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(aBlock)._value_(item);
-if($core.assert($1)){
+if($core.assert($recv(aBlock)._value_(item))){
 throw $early=[false];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1396,14 +1378,12 @@ var tally;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 tally=(0);
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(anObject).__eq(each);
-if($core.assert($1)){
+if($core.assert($recv(anObject).__eq(each))){
 tally=$recv(tally).__plus((1));
 return tally;
 }
@@ -1577,14 +1557,12 @@ var stream;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 stream=$recv($recv($self._class())._new())._writeStream();
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(aBlock)._value_(each);
-if($core.assert($1)){
+if($core.assert($recv(aBlock)._value_(each))){
 return $recv(stream)._nextPut_(each);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1615,18 +1593,16 @@ var stream;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 stream=$recv($recv($self._class())._new())._writeStream();
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(selectBlock)._value_(each)
+if($core.assert([$recv(selectBlock)._value_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value:"]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
+][0])){
 return $recv(stream)._nextPut_($recv(collectBlock)._value_(each));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1682,7 +1658,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $self._ifEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -1696,8 +1671,7 @@ return [$self._error_("Collection is empty")
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$1=$recv($self._size()).__gt((1));
-if($core.assert($1)){
+if($core.assert($recv($self._size()).__gt((1)))){
 $self._error_("Collection holds more than one element");
 }
 return $self._anyOne();
@@ -1913,8 +1887,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=[$recv([$self._class()
+if(!$core.assert([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
@@ -1922,11 +1895,10 @@ $1=[$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-if(!$core.assert($1)){
+][0])){
 return false;
 }
-$2=[$recv([$self._size()
+if(!$core.assert([$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
@@ -1934,8 +1906,7 @@ $2=[$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=2
 //>>excludeEnd("ctx");
-][0];
-if(!$core.assert($2)){
+][0])){
 return false;
 }
 return $recv([$self._associations()
@@ -2167,9 +2138,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._includesKey_(aKey);
-if($core.assert($1)){
+if($core.assert($self._includesKey_(aKey))){
 return $recv(aBlock)._value_($self._at_(aKey));
 } else {
 return $recv(anotherBlock)._value();
@@ -2684,14 +2653,12 @@ var newDict;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 newDict=$recv($self._class())._new();
 $self._keysAndValuesDo_((function(key,value){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(aBlock)._value_(value);
-if($core.assert($1)){
+if($core.assert($recv(aBlock)._value_(value))){
 return $recv(newDict)._at_put_(key,value);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -2722,18 +2689,16 @@ var newDict;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 newDict=$recv($self._class())._new();
 $self._keysAndValuesDo_((function(key,value){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(selectBlock)._value_(value)
+if($core.assert([$recv(selectBlock)._value_(value)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value:"]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
+][0])){
 return $recv(newDict)._at_put_(key,$recv(collectBlock)._value_(value));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -2959,13 +2924,11 @@ var newCollection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$recv(aCollection)._size()
+if(!$core.assert($recv([$recv(aCollection)._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0])._even();
-if(!$core.assert($1)){
+][0])._even())){
 $self._error_("#newFromPairs only accepts arrays of an even length");
 }
 newCollection=$self._new();
@@ -3095,13 +3058,11 @@ var index;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 index=$recv($self.values)._indexOf_ifAbsent_(anObject,(function(){
 return (0);
 
 }));
-$1=$recv(index).__eq((0));
-if($core.assert($1)){
+if($core.assert($recv(index).__eq((0)))){
 return $recv(aBlock)._value();
 } else {
 return $recv($self.keys)._at_(index);
@@ -3439,9 +3400,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._includesKey_(aKey);
-if($core.assert($1)){
+if($core.assert($self._includesKey_(aKey))){
 return $self._basicAt_(aKey);
 } else {
 return $recv(aBlock)._value();
@@ -3661,10 +3620,9 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 var $early={};
 try {
-$1=$recv([$recv([$self._class()
+if(!$core.assert($recv([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
@@ -3688,16 +3646,14 @@ return [$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
-}));
-if(!$core.assert($1)){
+})))){
 return false;
 }
 $self._withIndexDo_((function(each,i){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$2=$recv($recv(aCollection)._at_(i)).__eq(each);
-if(!$core.assert($2)){
+if(!$core.assert($recv($recv(aCollection)._at_(i)).__eq(each))){
 throw $early=[false];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3845,8 +3801,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$self._size()
+if($core.assert($recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
@@ -3854,8 +3809,7 @@ $1=$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=2
 //>>excludeEnd("ctx");
-][0]);
-if($core.assert($1)){
+][0]))){
 return false;
 }
 return $recv($self._first_($recv(prefix)._size())).__eq(prefix);
@@ -3931,8 +3885,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$self._size()
+if($core.assert($recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
@@ -3940,8 +3893,7 @@ $1=$recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=2
 //>>excludeEnd("ctx");
-][0]);
-if($core.assert($1)){
+][0]))){
 return false;
 }
 return $recv($self._last_($recv(suffix)._size())).__eq(suffix);
@@ -3990,9 +3942,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self._size()).__lt(aNumber);
-if($core.assert($1)){
+if($core.assert($recv($self._size()).__lt(aNumber))){
 $self._error_("Invalid number of elements");
 }
 return $self._copyFrom_to_((1),aNumber);
@@ -4140,13 +4090,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$self._size()
+if($core.assert($recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0]).__lt(aNumber);
-if($core.assert($1)){
+][0]).__lt(aNumber))){
 $self._error_("Invalid number of elements");
 }
 return $self._copyFrom_to_($recv($recv([$self._size()
@@ -4731,13 +4679,11 @@ var index;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 index=$self._indexOf_ifAbsent_(anObject,(function(){
 return (0);
 
 }));
-$1=$recv(index).__eq((0));
-if($core.assert($1)){
+if($core.assert($recv(index).__eq((0)))){
 return $recv(aBlock)._value();
 } else {
 $self._removeIndex_(index);
@@ -5488,9 +5434,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self._last()).__eq(":");
-if(!$core.assert($1)){
+if(!$core.assert($recv($self._last()).__eq(":"))){
 return $self.__comma(":");
 }
 return self;
@@ -5599,10 +5543,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv(aStream)._nextPutAll_("#");
-$1=$recv($self._asString())._isSelector();
-if($core.assert($1)){
+if($core.assert($recv($self._asString())._isSelector())){
 $recv(aStream)._nextPut_(self);
 } else {
 $self._printOn_(aStream);
@@ -5832,8 +5774,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($recv(anObject)._isString())._and_((function(){
+if(!$core.assert($recv($recv(anObject)._isString())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -5841,8 +5782,7 @@ return $recv($recv(anObject)._size()).__eq((1));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
-}));
-if(!$core.assert($1)){
+})))){
 $self._error_([$recv(["Cannot put ".__comma($recv($recv(anObject)._class())._name())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
@@ -6164,7 +6104,6 @@ var cr,lf,start,sz,nextLF,nextCR;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
 var $early={};
 try {
 start=(1);
@@ -6193,7 +6132,7 @@ return $recv(start).__lt_eq(sz);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv([$recv(nextLF).__eq((0))
+if($core.assert([$recv([$recv(nextLF).__eq((0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=1
 //>>excludeEnd("ctx");
@@ -6213,8 +6152,7 @@ return [$recv(nextCR).__eq((0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["and:"]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
+][0])){
 [$recv(aBlock)._value_value_value_(start,sz,sz)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value:value:value:"]=1
@@ -6222,7 +6160,7 @@ if($core.assert($1)){
 ][0];
 throw $early=[self];
 }
-$2=$recv([$recv(nextCR).__eq((0))
+if($core.assert($recv([$recv(nextCR).__eq((0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=3
 //>>excludeEnd("ctx");
@@ -6246,8 +6184,7 @@ return $recv(nextLF).__lt(nextCR);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,5)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($2)){
+})))){
 [$recv(aBlock)._value_value_value_(start,[$recv(nextLF).__minus((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["-"]=1
@@ -6269,12 +6206,11 @@ nextLF=[$self._indexOf_startingAt_(lf,start)
 ][0];
 return nextLF;
 } else {
-$3=$recv([(1).__plus(nextCR)
+if($core.assert($recv([(1).__plus(nextCR)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["+"]=2
 //>>excludeEnd("ctx");
-][0]).__eq(nextLF);
-if($core.assert($3)){
+][0]).__eq(nextLF))){
 [$recv(aBlock)._value_value_value_(start,[$recv(nextCR).__minus((1))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["-"]=2
@@ -6337,7 +6273,6 @@ var lineCount;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 lineCount=(0);
@@ -6346,8 +6281,7 @@ $self._lineIndicesDo_((function(start,endWithoutDelimiters,end){
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 lineCount=$recv(lineCount).__plus((1));
-$1=$recv(lineCount).__eq(anIndex);
-if($core.assert($1)){
+if($core.assert($recv(lineCount).__eq(anIndex))){
 throw $early=[$self._copyFrom_to_(start,endWithoutDelimiters)];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -7361,10 +7295,9 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
 var $early={};
 try {
-$1=[$recv([$self._class()
+if(!$core.assert([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
@@ -7372,24 +7305,21 @@ $1=[$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-if(!$core.assert($1)){
+][0])){
 return false;
 }
-$2=$recv([$self._size()
+if(!$core.assert($recv([$self._size()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0]).__eq($recv(aCollection)._size());
-if(!$core.assert($2)){
+][0]).__eq($recv(aCollection)._size()))){
 return false;
 }
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$3=$recv(aCollection)._includes_(each);
-if(!$core.assert($3)){
+if(!$core.assert($recv(aCollection)._includes_(each))){
 throw $early=[false];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -7973,14 +7903,12 @@ var collection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 collection=$recv($self._class())._new();
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(aBlock)._value_(each);
-if($core.assert($1)){
+if($core.assert($recv(aBlock)._value_(each))){
 return $recv(collection)._add_(each);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -8011,18 +7939,16 @@ var collection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 collection=$recv($self._class())._new();
 $self._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(selectBlock)._value_(each)
+if($core.assert([$recv(selectBlock)._value_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["value:"]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
+][0])){
 return $recv(collection)._add_($recv(collectBlock)._value_(each));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -8243,9 +8169,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._atEnd();
-if($core.assert($1)){
+if($core.assert($self._atEnd())){
 return nil;
 } else {
 return $self._subclassResponsibility();
@@ -8352,9 +8276,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._atEnd();
-if($core.assert($1)){
+if($core.assert($self._atEnd())){
 return nil;
 } else {
 return $self._subclassResponsibility();
@@ -8680,9 +8602,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._atEnd();
-if($core.assert($1)){
+if($core.assert($self._atEnd())){
 return nil;
 } else {
 $self._position_($recv([$self._position()
@@ -8715,14 +8635,12 @@ var tempCollection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 tempCollection=$recv($recv($self._collection())._class())._new();
 $recv(anInteger)._timesRepeat_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$self._atEnd();
-if(!$core.assert($1)){
+if(!$core.assert($self._atEnd())){
 return $recv(tempCollection)._add_($self._next());
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -8786,9 +8704,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._atEnd();
-if(!$core.assert($1)){
+if(!$core.assert($self._atEnd())){
 return $recv($self._collection())._at_($recv($self._position()).__plus((1)));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -9141,14 +9057,12 @@ var tempCollection;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 tempCollection=$recv($recv($self._collection())._class())._new();
 $recv(anInteger)._timesRepeat_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$self._atEnd();
-if(!$core.assert($1)){
+if(!$core.assert($self._atEnd())){
 tempCollection=$recv(tempCollection).__comma($self._next());
 return tempCollection;
 }
@@ -9204,8 +9118,7 @@ var pre,post;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$self._position()
+if($core.assert($recv([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["position"]=1
 //>>excludeEnd("ctx");
@@ -9217,8 +9130,7 @@ $1=$recv([$self._position()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["size"]=1
 //>>excludeEnd("ctx");
-][0]);
-if($core.assert($1)){
+][0]))){
 [$self._setCollection_([$recv([$self._collection()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["collection"]=2
@@ -9502,7 +9414,6 @@ var result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 result=$recv($self.read)._at_ifAbsent_($self.readIndex,(function(){
@@ -9513,8 +9424,7 @@ $recv($self.write)._ifEmpty_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=$recv($self.readIndex).__gt((1));
-if($core.assert($1)){
+if($core.assert($recv($self.readIndex).__gt((1)))){
 $self.read=[];
 $self.readIndex=(1);
 $self.readIndex;

+ 6 - 9
lang/src/Kernel-Dag.js

@@ -149,16 +149,15 @@ var newChildren,oldChildren;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 oldChildren=$recv(aNode)._dagChildren();
 newChildren=$self._visitAllChildren_(aNode);
-$1=$recv(oldChildren).__eq(newChildren);
-if($core.assert($1)){
+if($core.assert($recv(oldChildren).__eq(newChildren))){
 return aNode;
 } else {
-$2=$recv(aNode)._copy();
-$recv($2)._dagChildren_(newChildren);
-return $recv($2)._yourself();
+$1=$recv(aNode)._copy();
+$recv($1)._dagChildren_(newChildren);
+return $recv($1)._yourself();
 }
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -314,7 +313,6 @@ var newNode;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 newNode=[(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -324,8 +322,7 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-$1=$recv(aNode).__eq_eq(newNode);
-if(!$core.assert($1)){
+if(!$core.assert($recv(aNode).__eq_eq(newNode))){
 $recv($self.path)._at_put_($recv($self.path)._size(),newNode);
 }
 return newNode;

+ 23 - 47
lang/src/Kernel-Infrastructure.js

@@ -129,13 +129,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$recv(anObject)._class()
+if(!$core.assert($recv([$recv(anObject)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
-][0]).__eq_eq($self._class());
-if(!$core.assert($1)){
+][0]).__eq_eq($self._class()))){
 return false;
 }
 return $recv($globals.JSObjectProxy)._compareJSObjectOfProxy_withProxy_(self,anObject);
@@ -308,9 +306,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($globals.NativeFunction)._isNativeFunction_($self._at_("then"));
-if($core.assert($1)){
+if($core.assert($recv($globals.NativeFunction)._isNativeFunction_($self._at_("then")))){
 return $recv($recv($globals.TThenable).__gt_gt("catch:"))._sendTo_arguments_($self.jsObject,[aBlock]);
 } else {
 return [(
@@ -455,9 +451,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($globals.NativeFunction)._isNativeFunction_($self._at_("then"));
-if($core.assert($1)){
+if($core.assert($recv($globals.NativeFunction)._isNativeFunction_($self._at_("then")))){
 return $recv($recv($globals.TThenable).__gt_gt("on:do:"))._sendTo_arguments_($self.jsObject,[aClass,aBlock]);
 } else {
 return [(
@@ -594,9 +588,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($globals.NativeFunction)._isNativeFunction_($self._at_("then"));
-if($core.assert($1)){
+if($core.assert($recv($globals.NativeFunction)._isNativeFunction_($self._at_("then")))){
 return $recv($recv($globals.TThenable).__gt_gt("then:"))._sendTo_arguments_($self.jsObject,[aBlockOrArray]);
 } else {
 return [(
@@ -1446,13 +1438,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($self._sortedImportsAsArray())._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(each)._isString();
-if($core.assert($1)){
+if($core.assert($recv(each)._isString())){
 return each;
 } else {
 return [$recv($recv($recv(each)._key()).__comma("=")).__comma($recv(each)._value())
@@ -1544,15 +1534,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv(anArray)._collect_((function(each){
 var split;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 split=$recv(each)._tokenize_("=");
-$1=$recv($recv(split)._size()).__eq((1));
-if($core.assert($1)){
+if($core.assert($recv($recv(split)._size()).__eq((1)))){
 return [$recv(split)._first()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["first"]=1
@@ -2231,26 +2219,23 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4;
 $recv(aCollection)._do_((function(import_){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(import_)._isString()
+if(!$core.assert([$recv(import_)._isString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["isString"]=1
 //>>excludeEnd("ctx");
-][0];
-if(!$core.assert($1)){
-$2=$recv(import_)._respondsTo_("key");
-if(!$core.assert($2)){
+][0])){
+if(!$core.assert($recv(import_)._respondsTo_("key"))){
 [$self._error_("Imports must be Strings or Associations")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["error:"]=1
 //>>excludeEnd("ctx");
 ][0];
 }
-$3=$recv([$recv([$recv(import_)._key()
+if(!$core.assert($recv([$recv([$recv(import_)._key()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["key"]=1
 //>>excludeEnd("ctx");
@@ -2258,16 +2243,14 @@ $3=$recv([$recv([$recv(import_)._key()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["isString"]=2
 //>>excludeEnd("ctx");
-][0]).__and($recv($recv(import_)._value())._isString());
-if(!$core.assert($3)){
+][0]).__and($recv($recv(import_)._value())._isString()))){
 [$self._error_("Key and value must be Strings")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["error:"]=2
 //>>excludeEnd("ctx");
 ][0];
 }
-$4=$recv($recv(import_)._key())._match_("^[a-zA-Z][a-zA-Z0-9]*$");
-if(!$core.assert($4)){
+if(!$core.assert($recv($recv(import_)._key())._match_("^[a-zA-Z][a-zA-Z0-9]*$"))){
 return $self._error_("Keys must be identifiers");
 }
 }
@@ -3003,9 +2986,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isError_(anObject);
-if($core.assert($1)){
+if($core.assert($self._isError_(anObject))){
 return anObject;
 } else {
 return $recv($globals.JavaScriptException)._on_(anObject);
@@ -3564,7 +3545,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 return $recv($self._adoptPackageDescriptors())._then_((function(pkgs){
 var classes;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3588,8 +3568,7 @@ $recv(classes)._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=$recv(each).__eq($self._class());
-if(!$core.assert($1)){
+if(!$core.assert($recv(each).__eq($self._class()))){
 return $recv(each)._initialize();
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3670,9 +3649,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
-$1=$recv(aClass)._isMetaclass();
-if($core.assert($1)){
+var $1,$2;
+if($core.assert($recv(aClass)._isMetaclass())){
 [$self._error_([$recv($recv(aClass)._asString()).__comma(" is a Metaclass and cannot be removed!")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
@@ -3731,10 +3709,10 @@ return $recv(each)._setTraitComposition_([]);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,4)});
 //>>excludeEnd("ctx");
 }));
-$2=$recv($globals.SystemAnnouncer)._current();
-$3=$recv($globals.ClassRemoved)._new();
-$recv($3)._theClass_(aClass);
-$recv($2)._announce_($recv($3)._yourself());
+$1=$recv($globals.SystemAnnouncer)._current();
+$2=$recv($globals.ClassRemoved)._new();
+$recv($2)._theClass_(aClass);
+$recv($1)._announce_($recv($2)._yourself());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"removeClass:",{aClass:aClass})});
@@ -3974,7 +3952,6 @@ var original;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 original=$recv(aSet)._copy();
 $recv($recv($self._core())._packageDescriptors())._keysAndValuesDo_((function(key,value){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3985,7 +3962,7 @@ return $recv(aSet)._add_($recv($globals.Package)._named_javaScriptDescriptor_(ke
 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$1=$recv(aSet)._allSatisfy_((function(each){
+if($core.assert($recv(aSet)._allSatisfy_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -3993,8 +3970,7 @@ return $recv(original)._includes_(each);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($1)){
+})))){
 return $recv($globals.Promise)._value_(aSet);
 } else {
 return $recv($recv($globals.Promise)._all_($recv(aSet)._collect_("isReady")))._then_((function(){

+ 36 - 51
lang/src/Kernel-Methods.js

@@ -896,13 +896,13 @@ var result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5,$6,$7,$8;
+var $1,$2,$3,$4,$5,$6;
 result=[$recv(aClass)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
 ][0];
-$1=[$recv([$self._methodClass()
+if(!$core.assert([$recv([$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodClass"]=1
 //>>excludeEnd("ctx");
@@ -910,22 +910,21 @@ $1=[$recv([$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-if(!$core.assert($1)){
-$2=[$recv(result).__comma(" (")
+][0])){
+$1=[$recv(result).__comma(" (")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=3
 //>>excludeEnd("ctx");
 ][0];
-$3=[$self._methodClass()
+$2=[$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodClass"]=2
 //>>excludeEnd("ctx");
 ][0];
-if($3 == null || $3.a$nil){
-$4="nil";
+if($2 == null || $2.a$nil){
+$3="nil";
 } else {
-$4=[$recv([$self._methodClass()
+$3=[$recv([$self._methodClass()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodClass"]=3
 //>>excludeEnd("ctx");
@@ -935,7 +934,7 @@ $4=[$recv([$self._methodClass()
 //>>excludeEnd("ctx");
 ][0];
 }
-result=[$recv([$recv($2).__comma($4)
+result=[$recv([$recv($1).__comma($3)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
 //>>excludeEnd("ctx");
@@ -946,7 +945,7 @@ result=[$recv([$recv($2).__comma($4)
 ][0];
 result;
 }
-$5=$recv([$recv([$self._origin()
+if(!$core.assert($recv([$recv([$self._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=1
 //>>excludeEnd("ctx");
@@ -958,24 +957,23 @@ $5=$recv([$recv([$self._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=2
 //>>excludeEnd("ctx");
-][0]).__eq($self._methodClass()));
-if(!$core.assert($5)){
-$6=[$recv(result).__comma(" /")
+][0]).__eq($self._methodClass())))){
+$4=[$recv(result).__comma(" /")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=6
 //>>excludeEnd("ctx");
 ][0];
-$7=[$self._origin()
+$5=[$self._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=3
 //>>excludeEnd("ctx");
 ][0];
-if($7 == null || $7.a$nil){
-$8="nil";
+if($5 == null || $5.a$nil){
+$6="nil";
 } else {
-$8=$recv($self._origin())._name();
+$6=$recv($self._origin())._name();
 }
-result=[$recv([$recv($6).__comma($8)
+result=[$recv([$recv($4).__comma($6)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=5
 //>>excludeEnd("ctx");
@@ -1180,15 +1178,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 $recv($self._methodClass())._allSubclassesDo_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(each)._includesSelector_($self.selector);
-if($core.assert($1)){
+if($core.assert($recv(each)._includesSelector_($self.selector))){
 throw $early=[true];
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1663,9 +1659,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self.poolSize).__lt($self._maxPoolSize());
-if($core.assert($1)){
+if($core.assert($recv($self.poolSize).__lt($self._maxPoolSize()))){
 $self._addWorker();
 }
 $recv($self.queue)._nextPut_(aBlock);
@@ -1728,7 +1722,6 @@ var sentinel;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 sentinel=$recv($globals.Object)._new();
 return (function(){
 var block;
@@ -1740,8 +1733,7 @@ block=$recv($self.queue)._nextIfAbsent_((function(){
 return sentinel;
 
 }));
-$1=$recv(block).__eq_eq(sentinel);
-if(!$core.assert($1)){
+if(!$core.assert($recv(block).__eq_eq(sentinel))){
 return $recv((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
@@ -3315,9 +3307,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$self._isBlockContext();
-if($core.assert($1)){
+var $1;
+if($core.assert($self._isBlockContext())){
 return [$recv(["a block (in ".__comma($recv($self._methodContext())._asString())
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=2
@@ -3328,12 +3319,12 @@ return [$recv(["a block (in ".__comma($recv($self._methodContext())._asString())
 //>>excludeEnd("ctx");
 ][0];
 } else {
-$2=$self._method();
-if($2 == null || $2.a$nil){
+$1=$self._method();
+if($1 == null || $1.a$nil){
 return "missing method ".__comma($recv($self._selector())._symbolPrintString());
 } else {
 var method;
-method=$2;
+method=$1;
 return $recv(method)._asStringForClass_($recv($self._receiver())._class());
 }
 }
@@ -3384,7 +3375,6 @@ var context;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 context=self;
@@ -3400,8 +3390,7 @@ return $recv(context)._isNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(testBlock)._value_(context);
-if($core.assert($1)){
+if($core.assert($recv(testBlock)._value_(context))){
 throw $early=[context];
 }
 context=$recv(context)._outerContext();
@@ -3531,7 +3520,7 @@ var method,lookupClass,receiverClass,supercall;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3;
+var $1,$2;
 $1=[$self._methodContext()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["methodContext"]=1
@@ -3568,8 +3557,7 @@ var outer;
 outer=$2;
 supercall=$recv(outer)._supercall();
 }
-$3=supercall;
-if($core.assert($3)){
+if($core.assert(supercall)){
 return $recv($recv($recv(method)._methodClass())._superclass())._lookupSelector_($recv($self._methodContext())._selector());
 } else {
 return method;
@@ -3596,17 +3584,16 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$self._isBlockContext();
-if(!$core.assert($1)){
+var $1;
+if(!$core.assert($self._isBlockContext())){
 return self;
 }
-$2=$self._outerContext();
-if($2 == null || $2.a$nil){
-return $2;
+$1=$self._outerContext();
+if($1 == null || $1.a$nil){
+return $1;
 } else {
 var outer;
-outer=$2;
+outer=$1;
 return $recv(outer)._methodContext();
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3698,8 +3685,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self._isBlockContext())._and_((function(){
+if($core.assert($recv($self._isBlockContext())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -3711,8 +3697,7 @@ return $recv([$self._outerContext()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($1)){
+})))){
 return $recv($self._outerContext())._receiver();
 } else {
 return $self._basicReceiver();

+ 17 - 35
lang/src/Kernel-Objects.js

@@ -395,9 +395,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isMemberOf_(aClass);
-if($core.assert($1)){
+if($core.assert($self._isMemberOf_(aClass))){
 return true;
 } else {
 return $recv($self._class())._inheritsFrom_(aClass);
@@ -507,8 +505,8 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$recv($recv([$recv([$self._class()
+var $1;
+if($core.assert($recv($recv([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
@@ -516,13 +514,12 @@ $1=$recv($recv([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
 //>>excludeEnd("ctx");
-][0])._first())._isVowel();
-if($core.assert($1)){
-$2="an ";
+][0])._first())._isVowel())){
+$1="an ";
 } else {
-$2="a ";
+$1="a ";
 }
-[$recv(aStream)._nextPutAll_($2)
+[$recv(aStream)._nextPutAll_($1)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["nextPutAll:"]=1
 //>>excludeEnd("ctx");
@@ -4306,13 +4303,10 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
-$1=$self._isZero();
-if($core.assert($1)){
+if($core.assert($self._isZero())){
 return (0);
 }
-$2=$self._positive();
-if($core.assert($2)){
+if($core.assert($self._positive())){
 return (1);
 } else {
 return (-1);
@@ -4532,16 +4526,13 @@ var array,value,pos;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 value=self;
 array=$recv($globals.Array)._new();
 pos=(1);
-$1=$recv(step).__eq((0));
-if($core.assert($1)){
+if($core.assert($recv(step).__eq((0)))){
 $self._error_("step must be non-zero");
 }
-$2=$recv(step).__lt((0));
-if($core.assert($2)){
+if($core.assert($recv(step).__lt((0)))){
 [$recv((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -4628,14 +4619,11 @@ var value;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 value=self;
-$1=$recv(step).__eq((0));
-if($core.assert($1)){
+if($core.assert($recv(step).__eq((0)))){
 $self._error_("step must be non-zero");
 }
-$2=$recv(step).__lt((0));
-if($core.assert($2)){
+if($core.assert($recv(step).__lt((0)))){
 [$recv((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -5432,7 +5420,6 @@ var n,d;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 n=[$recv($recv($self.y)._negated()).__at($self.x)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["@"]=1
@@ -5451,8 +5438,7 @@ d=$recv([$recv([$recv(n)._x()
 ,$ctx1.sendIdx["y"]=1
 //>>excludeEnd("ctx");
 ][0]).__star($recv(n)._y()));
-$1=$recv(d).__eq((0));
-if($core.assert($1)){
+if($core.assert($recv(d).__eq((0)))){
 return (-1).__at((0));
 }
 return $recv(n).__slash($recv(d)._sqrt());
@@ -5479,10 +5465,8 @@ var r;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 r=$self._r();
-$1=$recv(r).__eq((0));
-if($core.assert($1)){
+if($core.assert($recv(r).__eq((0)))){
 return [$recv($globals.Point)._x_y_((0),(0))
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["x:y:"]=1
@@ -5518,14 +5502,13 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [$recv($self.x)._printOn_(aStream)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["printOn:"]=1
 //>>excludeEnd("ctx");
 ][0];
 $recv(aStream)._nextPutAll_("@");
-$1=$recv($recv($self.y)._notNil())._and_((function(){
+if($core.assert($recv($recv($self.y)._notNil())._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
@@ -5533,8 +5516,7 @@ return $recv($self.y)._negative();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($1)){
+})))){
 $recv(aStream)._space();
 }
 $recv($self.y)._printOn_(aStream);

+ 37 - 47
lang/src/Kernel-Tests.js

@@ -22,7 +22,6 @@ var method,dirty;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 dirty=[$recv([$recv([$self._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
@@ -64,8 +63,7 @@ $recv([$self._class()
 ,$ctx1.sendIdx["class"]=5
 //>>excludeEnd("ctx");
 ][0])._removeCompiledMethod_(method);
-$1=dirty;
-if($core.assert($1)){
+if($core.assert(dirty)){
 $recv($recv($self._class())._package())._beDirty();
 }
 return self;
@@ -1445,111 +1443,103 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16;
-$1=[true._yourself()
+var $1,$2,$3,$4,$5,$6,$7,$8;
+if($core.assert([true._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
-$2="alternative block";
+][0])){
+$1="alternative block";
 }
-[$self._assert_equals_($2,"alternative block")
+[$self._assert_equals_($1,"alternative block")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=1
 //>>excludeEnd("ctx");
 ][0];
-$3=[true._yourself()
+if(!$core.assert([true._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=2
 //>>excludeEnd("ctx");
-][0];
-if(!$core.assert($3)){
-$4="alternative block";
+][0])){
+$2="alternative block";
 }
-[$self._assert_equals_($4,nil)
+[$self._assert_equals_($2,nil)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=2
 //>>excludeEnd("ctx");
 ][0];
-$5=[false._yourself()
+if($core.assert([false._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=3
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($5)){
-$6="alternative block";
+][0])){
+$3="alternative block";
 }
-[$self._assert_equals_($6,nil)
+[$self._assert_equals_($3,nil)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=3
 //>>excludeEnd("ctx");
 ][0];
-$7=[false._yourself()
+if(!$core.assert([false._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=4
 //>>excludeEnd("ctx");
-][0];
-if(!$core.assert($7)){
-$8="alternative block";
+][0])){
+$4="alternative block";
 }
-[$self._assert_equals_($8,"alternative block")
+[$self._assert_equals_($4,"alternative block")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=4
 //>>excludeEnd("ctx");
 ][0];
-$9=[false._yourself()
+if($core.assert([false._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=5
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($9)){
-$10="alternative block";
+][0])){
+$5="alternative block";
 } else {
-$10="alternative block2";
+$5="alternative block2";
 }
-[$self._assert_equals_($10,"alternative block2")
+[$self._assert_equals_($5,"alternative block2")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=5
 //>>excludeEnd("ctx");
 ][0];
-$11=[false._yourself()
+if($core.assert([false._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=6
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($11)){
-$12="alternative block2";
+][0])){
+$6="alternative block2";
 } else {
-$12="alternative block";
+$6="alternative block";
 }
-[$self._assert_equals_($12,"alternative block")
+[$self._assert_equals_($6,"alternative block")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=6
 //>>excludeEnd("ctx");
 ][0];
-$13=[true._yourself()
+if($core.assert([true._yourself()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["yourself"]=7
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($13)){
-$14="alternative block";
+][0])){
+$7="alternative block";
 } else {
-$14="alternative block2";
+$7="alternative block2";
 }
-[$self._assert_equals_($14,"alternative block")
+[$self._assert_equals_($7,"alternative block")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["assert:equals:"]=7
 //>>excludeEnd("ctx");
 ][0];
-$15=true._yourself();
-if($core.assert($15)){
-$16="alternative block2";
+if($core.assert(true._yourself())){
+$8="alternative block2";
 } else {
-$16="alternative block";
+$8="alternative block";
 }
-$self._assert_equals_($16,"alternative block2");
+$self._assert_equals_($8,"alternative block2");
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"testIfTrueIfFalseWithBoxing",{})});

+ 2 - 6
lang/src/Platform-Browser.js

@@ -155,9 +155,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isFeasible();
-if($core.assert($1)){
+if($core.assert($self._isFeasible())){
 $recv($globals.Platform)._registerIfNone_($self._new());
 }
 return self;
@@ -305,9 +303,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isFeasible();
-if($core.assert($1)){
+if($core.assert($self._isFeasible())){
 $recv($globals.Terminal)._registerIfNone_($self._new());
 }
 return self;

+ 2 - 6
lang/src/Platform-DOM-Tests.js

@@ -21,9 +21,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($globals.PlatformDom)._isFeasible();
-if($core.assert($1)){
+if($core.assert($recv($globals.PlatformDom)._isFeasible())){
 $self._assert_equals_("©"._htmlTextContent(),"©");
 }
 return self;
@@ -49,9 +47,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($globals.PlatformDom)._isFeasible();
-if($core.assert($1)){
+if($core.assert($recv($globals.PlatformDom)._isFeasible())){
 $self._shouldnt_raise_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {

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

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

+ 16 - 40
lang/src/Platform-ImportExport.js

@@ -83,7 +83,6 @@ var extensionName,result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 extensionName="*".__comma([$recv(aPackage)._name()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["name"]=1
@@ -110,8 +109,7 @@ return $recv(each)._includingPossibleMetaDo_((function(behavior){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=$recv($recv(behavior)._protocols())._includes_(extensionName);
-if($core.assert($1)){
+if($core.assert($recv($recv(behavior)._protocols())._includes_(extensionName))){
 return $recv(result)._add_($recv($globals.ExportMethodProtocol)._name_theClass_(extensionName,behavior));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -380,15 +378,13 @@ var classIvars,classTraitComposition;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 classIvars=$recv([$recv(aClass)._class()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["class"]=1
 //>>excludeEnd("ctx");
 ][0])._instanceVariableNames();
 classTraitComposition=$recv($recv(aClass)._class())._traitComposition();
-$1=$recv(classIvars)._notEmpty();
-if($core.assert($1)){
+if($core.assert($recv(classIvars)._notEmpty())){
 $recv(aStream)._print_($recv(aClass)._theMetaClass());
 $recv(aStream)._space();
 $recv(aStream)._write_(["slots: {",". "._join_($recv(classIvars)._collect_("symbolPrintString")),"}!"]);
@@ -908,7 +904,6 @@ var name,map,result;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 name=$recv(aPackage)._name();
 result=[$recv($globals.OrderedCollection)._new()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -928,8 +923,7 @@ $recv(aClass)._protocolsDo_((function(category,methods){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
 //>>excludeEnd("ctx");
-$1=$recv(category).__eq("*".__comma(name));
-if($core.assert($1)){
+if($core.assert($recv(category).__eq("*".__comma(name)))){
 return $recv(map)._at_put_(category,methods);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -985,14 +979,12 @@ var map;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 map=$recv($globals.Dictionary)._new();
 $recv(aClass)._protocolsDo_((function(each,methods){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(each)._match_("^\x5c*");
-if(!$core.assert($1)){
+if(!$core.assert($recv(each)._match_("^\x5c*"))){
 return $recv(map)._at_put_(each,methods);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -2012,13 +2004,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($recv([$recv(aPackage)._transport()
+if($core.assert($recv($recv([$recv(aPackage)._transport()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["transport"]=1
 //>>excludeEnd("ctx");
-][0])._type()).__eq("amd");
-if($core.assert($1)){
+][0])._type()).__eq("amd"))){
 return $recv($recv(aPackage)._transport())._namespace();
 } else {
 return nil;
@@ -2261,7 +2251,6 @@ var namedImports,anonImports,importVarNames;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 namedImports=[];
 anonImports=[];
 importVarNames=[];
@@ -2269,8 +2258,7 @@ $recv($recv(aPackage)._imports())._do_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv(each)._isString();
-if($core.assert($1)){
+if($core.assert($recv(each)._isString())){
 return [$recv(anonImports)._add_(each)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["add:"]=1
@@ -2336,7 +2324,6 @@ var char,result,chunk;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 var $early={};
 try {
 result=""._writeStream();
@@ -2357,14 +2344,12 @@ return $recv(char)._notNil();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=[$recv(char).__eq("!")
+if($core.assert([$recv(char).__eq("!")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["="]=1
 //>>excludeEnd("ctx");
-][0];
-if($core.assert($1)){
-$2=$recv($recv($self.stream)._peek()).__eq("!");
-if($core.assert($2)){
+][0])){
+if($core.assert($recv($recv($self.stream)._peek()).__eq("!"))){
 $recv($self.stream)._next();
 } else {
 $self.last=$recv($recv(result)._contents())._trimBoth();
@@ -2867,7 +2852,6 @@ var chunk,result,parser,lastEmpty;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 parser=$recv($globals.ChunkParser)._on_(aStream);
 lastEmpty=false;
 $self.lastSection="n/a, not started";
@@ -2899,8 +2883,7 @@ return $core.withContext(function($ctx4) {
 //>>excludeEnd("ctx");
 $self.lastSection=chunk;
 result=$recv($recv($globals.Compiler)._new())._evaluateExpression_(chunk);
-$1=lastEmpty;
-if($core.assert($1)){
+if($core.assert(lastEmpty)){
 lastEmpty=false;
 return $recv(result)._scanFrom_(parser);
 }
@@ -2999,16 +2982,14 @@ var xhr;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 xhr=$recv($globals.Platform)._newXhr();
 $recv(xhr)._open_url_async_("PUT",aURL,true);
 $recv(xhr)._onreadystatechange_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv($recv(xhr)._readyState()).__eq((4));
-if($core.assert($1)){
-$2=$recv($recv([$recv(xhr)._status()
+if($core.assert($recv($recv(xhr)._readyState()).__eq((4)))){
+return $recv($recv($recv([$recv(xhr)._status()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx2.sendIdx["status"]=1
 //>>excludeEnd("ctx");
@@ -3020,8 +3001,7 @@ return $recv($recv(xhr)._status()).__lt((300));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)});
 //>>excludeEnd("ctx");
-}));
-return $recv($2)._ifTrue_ifFalse_(aBlock,anotherBlock);
+})))._ifTrue_ifFalse_(aBlock,anotherBlock);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
@@ -3504,15 +3484,13 @@ var path,pathWithout;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 path=$self._toUrl_([$recv($self._namespaceFor_(aPackage)).__comma("/_source")
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx[","]=1
 //>>excludeEnd("ctx");
 ][0]);
 pathWithout=$self._commitPathJsFor_(aPackage);
-$1=$recv(path).__eq($recv(pathWithout).__comma("/_source"));
-if($core.assert($1)){
+if($core.assert($recv(path).__eq($recv(pathWithout).__comma("/_source")))){
 return pathWithout;
 } else {
 return path;
@@ -4122,7 +4100,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,
@@ -4132,8 +4109,7 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-$1=$self.__eq_eq($globals.PackageTransport);
-if($core.assert($1)){
+if($core.assert($self.__eq_eq($globals.PackageTransport))){
 $self.registry=$globals.HashedCollection._newFromPairs_([]);
 $self.registry;
 } else {

+ 1 - 3
lang/src/Platform-Node.js

@@ -155,9 +155,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isFeasible();
-if($core.assert($1)){
+if($core.assert($self._isFeasible())){
 $recv($globals.Platform)._registerIfNone_($self._new());
 }
 return self;

+ 10 - 20
lang/src/Platform-Services.js

@@ -320,10 +320,8 @@ var newInstVars;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 newInstVars=$recv($recv(aClass)._instanceVariableNames())._copyWith_(aString);
-$1=$recv(aClass)._isMetaclass();
-if($core.assert($1)){
+if($core.assert($recv(aClass)._isMetaclass())){
 $recv([$self._classBuilder()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["classBuilder"]=1
@@ -795,7 +793,7 @@ var package_;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
+var $1;
 package_=$recv($globals.Package)._named_(aPackageName);
 $1=package_;
 if($1 == null || $1.a$nil){
@@ -803,8 +801,7 @@ $self._error_("Invalid package name");
 } else {
 $1;
 }
-$2=$recv(package_).__eq_eq($recv(aClass)._package());
-if($core.assert($2)){
+if($core.assert($recv(package_).__eq_eq($recv(aClass)._package()))){
 return self;
 }
 $recv(aClass)._package_(package_);
@@ -833,22 +830,19 @@ var destinationClass;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 destinationClass=$self._classNamed_(aClassName);
-$1=$recv(destinationClass).__eq_eq([$recv(aMethod)._origin()
+if($core.assert($recv(destinationClass).__eq_eq([$recv(aMethod)._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=1
 //>>excludeEnd("ctx");
-][0]);
-if($core.assert($1)){
+][0]))){
 return self;
 }
-$2=$recv([$recv(aMethod)._origin()
+if($core.assert($recv([$recv(aMethod)._origin()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["origin"]=2
 //>>excludeEnd("ctx");
-][0])._isMetaclass();
-if($core.assert($2)){
+][0])._isMetaclass())){
 destinationClass=$recv(destinationClass)._theMetaClass();
 destinationClass;
 }
@@ -1456,9 +1450,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv(anError)._wasHandled();
-if(!$core.assert($1)){
+if(!$core.assert($recv(anError)._wasHandled())){
 $recv($self._current())._handleError_(anError);
 $recv(anError)._beHandled();
 }
@@ -2259,7 +2251,6 @@ var label;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 [(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true,
@@ -2269,12 +2260,11 @@ $ctx1.supercall = true,
 ,$ctx1.supercall = false
 //>>excludeEnd("ctx");
 ][0];
-$1=$recv($recv([$self._printString()
+if($core.assert($recv($recv([$self._printString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["printString"]=1
 //>>excludeEnd("ctx");
-][0])._size()).__gt((30));
-if($core.assert($1)){
+][0])._size()).__gt((30)))){
 label=$recv($recv([$self._printString()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["printString"]=2

+ 4 - 10
lang/src/SUnit-Tests.js

@@ -573,7 +573,6 @@ var suite,runner,result,assertBlock;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 suite=["fakeError", "fakeErrorFailingInTearDown", "fakeFailure", "testPass"]._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -617,10 +616,8 @@ $recv($recv(runner)._announcer())._on_do_($globals.ResultAnnouncement,(function(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$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);
+if($core.assert($recv($recv(ann)._result()).__eq_eq(result))){
+return $recv($recv($recv(result)._runs()).__eq($recv(result)._total()))._ifTrue_(assertBlock);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1,3)});
@@ -825,7 +822,6 @@ var suite,runner,result,assertBlock;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 suite=["fakeTimeout", "fakeMultipleTimeoutFailing", "fakeMultipleTimeoutPassing", "testPass"]._collect_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -865,10 +861,8 @@ $recv($recv(runner)._announcer())._on_do_($globals.ResultAnnouncement,(function(
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$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);
+if($core.assert($recv($recv(ann)._result()).__eq_eq(result))){
+return $recv($recv($recv(result)._runs()).__eq($recv(result)._total()))._ifTrue_(assertBlock);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx2) {$ctx2.fillBlock({ann:ann},$ctx1,3)});

+ 12 - 31
lang/src/SUnit.js

@@ -92,7 +92,6 @@ var learning;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 var $early={};
 try {
 learning=$recv($self._learnings())._at_ifAbsent_($recv(aMessage)._selector(),(function(){
@@ -112,8 +111,7 @@ $ctx2.supercall = true,
 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
-$1=$recv($recv(learning)._class()).__eq_eq($globals.Association);
-if($core.assert($1)){
+if($core.assert($recv($recv(learning)._class()).__eq_eq($globals.Association))){
 return $recv(learning)._value();
 } else {
 return $recv(learning)._valueWithPossibleArguments_($recv(aMessage)._arguments());
@@ -142,9 +140,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv($self.learnings)._isNil();
-if($core.assert($1)){
+if($core.assert($recv($self.learnings)._isNil())){
 $self.learnings=$recv($globals.Dictionary)._new();
 $self.learnings;
 }
@@ -366,15 +362,13 @@ var c;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $self._errorIfNotAsync_("#async");
 c=$self.context;
 return (function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$self._isAsync();
-if($core.assert($1)){
+if($core.assert($self._isAsync())){
 return $recv(c)._execute_(aBlock);
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -446,9 +440,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$self._isAsync();
-if(!$core.assert($1)){
+if(!$core.assert($self._isAsync())){
 $self._error_($recv(aString).__comma(" used without prior #timeout:"));
 }
 return self;
@@ -809,10 +801,8 @@ var selectors;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 selectors=$self._testSelectors();
-$1=$self._shouldInheritSelectors();
-if($core.assert($1)){
+if($core.assert($self._shouldInheritSelectors())){
 $recv(selectors)._addAll_($recv($self._superclass())._allTestSelectors());
 }
 return selectors;
@@ -1041,7 +1031,6 @@ var failed;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$2;
 [$recv($self.testCase)._context_(self)
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["context:"]=1
@@ -1063,7 +1052,7 @@ return failed;
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 $recv($self.testCase)._context_(nil);
-$1=$recv(failed)._and_((function(){
+if($core.assert($recv(failed)._and_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
@@ -1075,12 +1064,10 @@ return [$recv($self.testCase)._isAsync()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)});
 //>>excludeEnd("ctx");
-}));
-if($core.assert($1)){
+})))){
 $recv($self.testCase)._finished();
 }
-$2=$recv($self.testCase)._isAsync();
-if(!$core.assert($2)){
+if(!$core.assert($recv($self.testCase)._isAsync())){
 return $recv($self.testCase)._tearDown();
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1194,7 +1181,6 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
 $recv((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -1223,8 +1209,7 @@ $ctx3.supercall = true,
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$1=$recv($self.testCase)._isAsync();
-if(!$core.assert($1)){
+if(!$core.assert($recv($self.testCase)._isAsync())){
 $recv($self.result)._increaseRuns();
 return $recv($self.finished)._value();
 }
@@ -1541,13 +1526,11 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
-$1=$recv([$self._runs()
+if(!$core.assert($recv([$self._runs()
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 ,$ctx1.sendIdx["runs"]=1
 //>>excludeEnd("ctx");
-][0]).__eq_eq($self._total());
-if(!$core.assert($1)){
+][0]).__eq_eq($self._total()))){
 return $recv(aBlock)._value_($recv($self._runs()).__plus((1)));
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1805,7 +1788,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,
@@ -1827,8 +1809,7 @@ var runs;
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
 runs=$recv($self.result)._runs();
-$1=$recv(runs).__lt($recv($self.result)._total());
-if($core.assert($1)){
+if($core.assert($recv(runs).__lt($recv($self.result)._total()))){
 return $recv($self._contextOf_($recv(runs).__plus((1))))._start();
 }
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);