|  | @@ -3887,36 +3887,7 @@ var self=this;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -var $1;
 | 
	
		
			
				|  |  | -$1=self._stream();
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["stream"]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($1)._nextPutAll_("[");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["nextPutAll:"]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($recv(anIRDynamicArray)._instructions())._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return self._visit_(each);
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return $recv(self._stream())._nextPutAll_(",");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx2.sendIdx["nextPutAll:"]=2;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -$recv(self["@stream"])._nextPutAll_("]");
 | 
	
		
			
				|  |  | +self._visitInstructionList_enclosedBetween_and_($recv(anIRDynamicArray)._instructions(),"[","]");
 | 
	
		
			
				|  |  |  return self;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"visitIRDynamicArray:",{anIRDynamicArray:anIRDynamicArray},$globals.IRJSTranslator)});
 | 
	
	
		
			
				|  | @@ -3924,10 +3895,10 @@ return self;
 | 
	
		
			
				|  |  |  },
 | 
	
		
			
				|  |  |  //>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  |  args: ["anIRDynamicArray"],
 | 
	
		
			
				|  |  | -source: "visitIRDynamicArray: anIRDynamicArray\x0a\x09self stream nextPutAll: '['.\x0a\x09anIRDynamicArray instructions\x0a\x09\x09do: [ :each | self visit: each ]\x0a\x09\x09separatedBy: [ self stream nextPutAll: ',' ].\x0a\x09stream nextPutAll: ']'",
 | 
	
		
			
				|  |  | +source: "visitIRDynamicArray: anIRDynamicArray\x0a\x09self\x0a\x09\x09visitInstructionList: anIRDynamicArray instructions\x0a\x09\x09enclosedBetween: '[' and: ']'",
 | 
	
		
			
				|  |  |  referencedClasses: [],
 | 
	
		
			
				|  |  |  //>>excludeEnd("ide");
 | 
	
		
			
				|  |  | -messageSends: ["nextPutAll:", "stream", "do:separatedBy:", "instructions", "visit:"]
 | 
	
		
			
				|  |  | +messageSends: ["visitInstructionList:enclosedBetween:and:", "instructions"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  $globals.IRJSTranslator);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -3940,40 +3911,7 @@ var self=this;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -var $1,$2;
 | 
	
		
			
				|  |  | -$1=self._stream();
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["stream"]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($1)._nextPutAll_("$globals.HashedCollection._newFromPairs_([");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["nextPutAll:"]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($recv(anIRDynamicDictionary)._instructions())._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return self._visit_(each);
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$2=self._stream();
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx2.sendIdx["stream"]=2;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return $recv($2)._nextPutAll_(",");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx2.sendIdx["nextPutAll:"]=2;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -$recv(self._stream())._nextPutAll_("])");
 | 
	
		
			
				|  |  | +self._visitInstructionList_enclosedBetween_and_($recv(anIRDynamicDictionary)._instructions(),"$globals.HashedCollection._newFromPairs_([","])");
 | 
	
		
			
				|  |  |  return self;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"visitIRDynamicDictionary:",{anIRDynamicDictionary:anIRDynamicDictionary},$globals.IRJSTranslator)});
 | 
	
	
		
			
				|  | @@ -3981,10 +3919,10 @@ return self;
 | 
	
		
			
				|  |  |  },
 | 
	
		
			
				|  |  |  //>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  |  args: ["anIRDynamicDictionary"],
 | 
	
		
			
				|  |  | -source: "visitIRDynamicDictionary: anIRDynamicDictionary\x0a\x09self stream nextPutAll: '$globals.HashedCollection._newFromPairs_(['.\x0a\x09\x09anIRDynamicDictionary instructions\x0a\x09\x09\x09do: [ :each | self visit: each ]\x0a\x09\x09\x09separatedBy: [ self stream nextPutAll: ',' ].\x0a\x09self stream nextPutAll: '])'",
 | 
	
		
			
				|  |  | +source: "visitIRDynamicDictionary: anIRDynamicDictionary\x0a\x09self\x0a\x09\x09visitInstructionList: anIRDynamicDictionary instructions\x0a\x09\x09enclosedBetween: '$globals.HashedCollection._newFromPairs_([' and: '])'",
 | 
	
		
			
				|  |  |  referencedClasses: [],
 | 
	
		
			
				|  |  |  //>>excludeEnd("ide");
 | 
	
		
			
				|  |  | -messageSends: ["nextPutAll:", "stream", "do:separatedBy:", "instructions", "visit:"]
 | 
	
		
			
				|  |  | +messageSends: ["visitInstructionList:enclosedBetween:and:", "instructions"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  $globals.IRJSTranslator);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -4420,6 +4358,59 @@ messageSends: ["nextPutStatementWith:", "stream", "nextPutAll:", "source"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  $globals.IRJSTranslator);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +$core.addMethod(
 | 
	
		
			
				|  |  | +$core.method({
 | 
	
		
			
				|  |  | +selector: "visitInstructionList:enclosedBetween:and:",
 | 
	
		
			
				|  |  | +protocol: 'visiting',
 | 
	
		
			
				|  |  | +fn: function (anArray,aString,anotherString){
 | 
	
		
			
				|  |  | +var self=this;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +var $1;
 | 
	
		
			
				|  |  | +$1=self._stream();
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["stream"]=1;
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +$recv($1)._nextPutAll_(aString);
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["nextPutAll:"]=1;
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +$recv(anArray)._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +return self._visit_(each);
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +}),(function(){
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +return $recv(self._stream())._nextPutAll_(",");
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +$ctx2.sendIdx["nextPutAll:"]=2;
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +}));
 | 
	
		
			
				|  |  | +$recv(self["@stream"])._nextPutAll_(anotherString);
 | 
	
		
			
				|  |  | +return self;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +}, function($ctx1) {$ctx1.fill(self,"visitInstructionList:enclosedBetween:and:",{anArray:anArray,aString:aString,anotherString:anotherString},$globals.IRJSTranslator)});
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +},
 | 
	
		
			
				|  |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  | +args: ["anArray", "aString", "anotherString"],
 | 
	
		
			
				|  |  | +source: "visitInstructionList: anArray enclosedBetween: aString and: anotherString\x0a\x09self stream nextPutAll: aString.\x0a\x09anArray\x0a\x09\x09do: [ :each | self visit: each ]\x0a\x09\x09separatedBy: [ self stream nextPutAll: ',' ].\x0a\x09stream nextPutAll: anotherString",
 | 
	
		
			
				|  |  | +referencedClasses: [],
 | 
	
		
			
				|  |  | +//>>excludeEnd("ide");
 | 
	
		
			
				|  |  | +messageSends: ["nextPutAll:", "stream", "do:separatedBy:", "visit:"]
 | 
	
		
			
				|  |  | +}),
 | 
	
		
			
				|  |  | +$globals.IRJSTranslator);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  $core.addMethod(
 | 
	
		
			
				|  |  |  $core.method({
 | 
	
		
			
				|  |  |  selector: "visitReceiver:",
 | 
	
	
		
			
				|  | @@ -4471,50 +4462,15 @@ var self=this;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -var $2,$1,$3,$4,$5;
 | 
	
		
			
				|  |  | +var $2,$1;
 | 
	
		
			
				|  |  |  $2=$recv(anIRSend)._instructions();
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["instructions"]=1;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  |  $1=$recv($2)._first();
 | 
	
		
			
				|  |  |  self._visitReceiver_($1);
 | 
	
		
			
				|  |  | -$3=self._stream();
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["stream"]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$4=$recv(".".__comma($recv($recv(anIRSend)._selector())._asJavaScriptMethodName())).__comma("(");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx[","]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($3)._nextPutAll_($4);
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["nextPutAll:"]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($recv($recv(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return self._visit_(each);
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$5=self._stream();
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx2.sendIdx["stream"]=2;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return $recv($5)._nextPutAll_(",");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx2.sendIdx["nextPutAll:"]=2;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -$recv(self._stream())._nextPutAll_(")");
 | 
	
		
			
				|  |  | +$recv(self._stream())._nextPutAll_(".".__comma($recv($recv(anIRSend)._selector())._asJavaScriptMethodName()));
 | 
	
		
			
				|  |  | +self._visitInstructionList_enclosedBetween_and_($recv($recv(anIRSend)._instructions())._allButFirst(),"(",")");
 | 
	
		
			
				|  |  |  return self;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"visitSend:",{anIRSend:anIRSend},$globals.IRJSTranslator)});
 | 
	
	
		
			
				|  | @@ -4522,10 +4478,10 @@ return self;
 | 
	
		
			
				|  |  |  },
 | 
	
		
			
				|  |  |  //>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  |  args: ["anIRSend"],
 | 
	
		
			
				|  |  | -source: "visitSend: anIRSend\x0a\x09self visitReceiver: anIRSend instructions first.\x0a\x09self stream nextPutAll: '.', anIRSend selector asJavaScriptMethodName, '('.\x0a\x09anIRSend instructions allButFirst\x0a\x09\x09do: [ :each | self visit: each ]\x0a\x09\x09separatedBy: [ self stream nextPutAll: ',' ].\x0a\x09self stream nextPutAll: ')'",
 | 
	
		
			
				|  |  | +source: "visitSend: anIRSend\x0a\x09self visitReceiver: anIRSend instructions first.\x0a\x09self stream nextPutAll: '.', anIRSend selector asJavaScriptMethodName.\x0a\x09self\x0a\x09\x09visitInstructionList: anIRSend instructions allButFirst\x0a\x09\x09enclosedBetween: '(' and: ')'",
 | 
	
		
			
				|  |  |  referencedClasses: [],
 | 
	
		
			
				|  |  |  //>>excludeEnd("ide");
 | 
	
		
			
				|  |  | -messageSends: ["visitReceiver:", "first", "instructions", "nextPutAll:", "stream", ",", "asJavaScriptMethodName", "selector", "do:separatedBy:", "allButFirst", "visit:"]
 | 
	
		
			
				|  |  | +messageSends: ["visitReceiver:", "first", "instructions", "nextPutAll:", "stream", ",", "asJavaScriptMethodName", "selector", "visitInstructionList:enclosedBetween:and:", "allButFirst"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  $globals.IRJSTranslator);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -4538,7 +4494,7 @@ var self=this;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -var $1,$4,$3,$2,$5,$6,$7,$9,$8,$10,$11,$12;
 | 
	
		
			
				|  |  | +var $1,$4,$3,$2,$5,$6,$7,$9,$8,$10,$11;
 | 
	
		
			
				|  |  |  $1=self._stream();
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["stream"]=1;
 | 
	
	
		
			
				|  | @@ -4617,64 +4573,38 @@ $ctx1.sendIdx["instructions"]=1;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  |  $8=$recv($9)._first();
 | 
	
		
			
				|  |  |  self._visit_($8);
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["visit:"]=1;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  |  $10=self._stream();
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["stream"]=2;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($10)._nextPutAll_("), [");
 | 
	
		
			
				|  |  | +$recv($10)._nextPutAll_("), ");
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["nextPutAll:"]=9;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($recv($recv(anIRSend)._instructions())._allButFirst())._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return self._visit_(each);
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}),(function(){
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +self._visitInstructionList_enclosedBetween_and_($recv($recv(anIRSend)._instructions())._allButFirst(),"[","]");
 | 
	
		
			
				|  |  |  $11=self._stream();
 | 
	
		
			
				|  |  | +$recv($11)._nextPutAll_("));");
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx2.sendIdx["stream"]=3;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -return $recv($11)._nextPutAll_(",");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx2.sendIdx["nextPutAll:"]=10;
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
 | 
	
		
			
				|  |  | -//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -}));
 | 
	
		
			
				|  |  | -$12=self._stream();
 | 
	
		
			
				|  |  | -$recv($12)._nextPutAll_("]));");
 | 
	
		
			
				|  |  | -//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["nextPutAll:"]=11;
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["nextPutAll:"]=10;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($12)._lf();
 | 
	
		
			
				|  |  | +$recv($11)._lf();
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["lf"]=5;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($12)._nextPutAll_("//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);");
 | 
	
		
			
				|  |  | +$recv($11)._nextPutAll_("//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);");
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["nextPutAll:"]=12;
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["nextPutAll:"]=11;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($12)._lf();
 | 
	
		
			
				|  |  | +$recv($11)._lf();
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  $ctx1.sendIdx["lf"]=6;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($12)._nextPutAll_($recv($recv($recv(anIRSend)._scope())._alias()).__comma(".supercall = false;"));
 | 
	
		
			
				|  |  | +$recv($11)._nextPutAll_($recv($recv($recv(anIRSend)._scope())._alias()).__comma(".supercall = false;"));
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | -$ctx1.sendIdx["nextPutAll:"]=13;
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["nextPutAll:"]=12;
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | -$recv($12)._lf();
 | 
	
		
			
				|  |  | -$recv($12)._nextPutAll_("//>>excludeEnd(\x22ctx\x22);");
 | 
	
		
			
				|  |  | +$recv($11)._lf();
 | 
	
		
			
				|  |  | +$recv($11)._nextPutAll_("//>>excludeEnd(\x22ctx\x22);");
 | 
	
		
			
				|  |  |  return self;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"visitSuperSend:",{anIRSend:anIRSend},$globals.IRJSTranslator)});
 | 
	
	
		
			
				|  | @@ -4682,10 +4612,10 @@ return self;
 | 
	
		
			
				|  |  |  },
 | 
	
		
			
				|  |  |  //>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  |  args: ["anIRSend"],
 | 
	
		
			
				|  |  | -source: "visitSuperSend: anIRSend\x0a\x09self stream\x0a\x09\x09nextPutAll: '('; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = true, '; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'; lf;\x0a\x09\x09nextPutAll: '(', self currentClass asJavascript;\x0a\x09\x09nextPutAll: '.superclass||$boot.dnu).fn.prototype.';\x0a\x09\x09nextPutAll: anIRSend selector asJavaScriptMethodName, '.apply(';\x0a\x09\x09nextPutAll: '$recv('.\x0a\x09self visit: anIRSend instructions first.\x0a\x09self stream nextPutAll: '), ['.\x0a\x09anIRSend instructions allButFirst\x0a\x09\x09do: [ :each | self visit: each ]\x0a\x09\x09separatedBy: [ self stream nextPutAll: ',' ].\x0a\x09self stream \x0a\x09\x09nextPutAll: ']));'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = false;'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
 | 
	
		
			
				|  |  | +source: "visitSuperSend: anIRSend\x0a\x09self stream\x0a\x09\x09nextPutAll: '('; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = true, '; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'; lf;\x0a\x09\x09nextPutAll: '(', self currentClass asJavascript;\x0a\x09\x09nextPutAll: '.superclass||$boot.dnu).fn.prototype.';\x0a\x09\x09nextPutAll: anIRSend selector asJavaScriptMethodName, '.apply(';\x0a\x09\x09nextPutAll: '$recv('.\x0a\x09self visit: anIRSend instructions first.\x0a\x09self stream nextPutAll: '), '.\x0a\x09self\x0a\x09\x09visitInstructionList: anIRSend instructions allButFirst\x0a\x09\x09enclosedBetween: '[' and: ']'.\x0a\x09self stream \x0a\x09\x09nextPutAll: '));'; lf;\x0a\x09\x09nextPutAll: '//>>excludeStart(\x22ctx\x22, pragmas.excludeDebugContexts);'; lf;\x0a\x09\x09nextPutAll: anIRSend scope alias, '.supercall = false;'; lf;\x0a\x09\x09nextPutAll: '//>>excludeEnd(\x22ctx\x22);'",
 | 
	
		
			
				|  |  |  referencedClasses: [],
 | 
	
		
			
				|  |  |  //>>excludeEnd("ide");
 | 
	
		
			
				|  |  | -messageSends: ["nextPutAll:", "stream", "lf", ",", "alias", "scope", "asJavascript", "currentClass", "asJavaScriptMethodName", "selector", "visit:", "first", "instructions", "do:separatedBy:", "allButFirst"]
 | 
	
		
			
				|  |  | +messageSends: ["nextPutAll:", "stream", "lf", ",", "alias", "scope", "asJavascript", "currentClass", "asJavaScriptMethodName", "selector", "visit:", "first", "instructions", "visitInstructionList:enclosedBetween:and:", "allButFirst"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  $globals.IRJSTranslator);
 | 
	
		
			
				|  |  |  
 |