| 
					
				 | 
			
			
				@@ -463,43 +463,59 @@ function $IRTempDeclaration(){return smalltalk.IRTempDeclaration||(typeof IRTemp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $IRReturn(){return smalltalk.IRReturn||(typeof IRReturn=="undefined"?nil:IRReturn)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $IRVariable(){return smalltalk.IRVariable||(typeof IRVariable=="undefined"?nil:IRVariable)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$3,$4,$5,$6,$7,$8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$4,$3,$5,$7,$8,$9,$10,$6,$11,$13,$12,$15,$16,$14,$18,$19,$22,$21,$20,$23,$17,$24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st($IRMethod())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._source_(_st(self._source())._crlfSanitized()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._theClass_(self._theClass()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._arguments_(_st(aNode)._arguments()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._selector_(_st(aNode)._selector()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._messageSends_(_st(aNode)._messageSends()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._sendIndexes_(_st(aNode)._sendIndexes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._superSends_(_st(aNode)._superSends()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._classReferences_(_st(aNode)._classReferences()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._scope_(_st(aNode)._scope()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=_st($1)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._method_($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st(_st(aNode)._scope())._temps())._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st(aNode)._scope(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($4)._temps(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($IRTempDeclaration())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($3)._name_(_st(each)._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($3)._scope_(_st(aNode)._scope()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($3)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self._method())._add_($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=self._method(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=_st($IRTempDeclaration())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($7)._name_(_st(each)._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=$7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=_st(aNode)._scope(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($8)._scope_($9); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$10=_st($7)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=$10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($5)._add_($6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(_st(aNode)._nodes())._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st(self._method())._add_(self._visit_(each)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$11=self._method(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($11)._add_(self._visit_(each)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st(_st(aNode)._scope())._hasLocalReturn(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(! smalltalk.assert($5)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st($IRVariable())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($6)._variable_(_st(_st(_st(aNode)._scope())._pseudoVars())._at_("self")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st($6)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st(self._method())._add_(_st($IRReturn())._new()))._add_($7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$13=_st(aNode)._scope(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$12=_st($13)._hasLocalReturn(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(! smalltalk.assert($12)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$15=self._method(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$16=_st($IRReturn())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$14=_st($15)._add_($16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$18=_st($IRVariable())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$19=$18; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$22=_st(aNode)._scope(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$21=_st($22)._pseudoVars(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$20=_st($21)._at_("self"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($19)._variable_($20); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$23=_st($18)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$17=$23; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($14)._add_($17); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=self._method(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$24=self._method(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $24; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"visitMethodNode:",{aNode:aNode},smalltalk.IRASTTranslator)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aNode"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "visitMethodNode: aNode\x0a\x0a\x09self method: (IRMethod new\x0a\x09\x09source: self source crlfSanitized;\x0a\x09\x09theClass: self theClass;\x0a\x09\x09arguments: aNode arguments;\x0a\x09\x09selector: aNode selector;\x0a\x09\x09messageSends: aNode messageSends;\x0a\x09\x09superSends: aNode superSends;\x0a\x09\x09classReferences: aNode classReferences;\x0a\x09\x09scope: aNode scope;\x0a\x09\x09yourself).\x0a\x0a\x09aNode scope temps do: [ :each |\x0a\x09\x09self method add: (IRTempDeclaration new\x0a\x09\x09\x09name: each name;\x0a\x09\x09\x09scope: aNode scope;\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09aNode nodes do: [ :each | self method add: (self visit: each) ].\x0a\x0a\x09aNode scope hasLocalReturn ifFalse: [\x0a\x09\x09(self method add: IRReturn new) add: (IRVariable new\x0a\x09\x09\x09variable: (aNode scope pseudoVars at: 'self');\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09^ self method", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["method:", "source:", "new", "crlfSanitized", "source", "theClass:", "theClass", "arguments:", "arguments", "selector:", "selector", "messageSends:", "messageSends", "superSends:", "superSends", "classReferences:", "classReferences", "scope:", "scope", "yourself", "do:", "temps", "add:", "method", "name:", "name", "nodes", "visit:", "ifFalse:", "hasLocalReturn", "variable:", "at:", "pseudoVars"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "visitMethodNode: aNode\x0a\x0a\x09self method: (IRMethod new\x0a\x09\x09source: self source crlfSanitized;\x0a\x09\x09theClass: self theClass;\x0a\x09\x09arguments: aNode arguments;\x0a\x09\x09selector: aNode selector;\x0a\x09\x09sendIndexes: aNode sendIndexes;\x0a\x09\x09superSends: aNode superSends;\x0a\x09\x09classReferences: aNode classReferences;\x0a\x09\x09scope: aNode scope;\x0a\x09\x09yourself).\x0a\x0a\x09aNode scope temps do: [ :each |\x0a\x09\x09self method add: (IRTempDeclaration new\x0a\x09\x09\x09name: each name;\x0a\x09\x09\x09scope: aNode scope;\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09aNode nodes do: [ :each | self method add: (self visit: each) ].\x0a\x0a\x09aNode scope hasLocalReturn ifFalse: [\x0a\x09\x09(self method add: IRReturn new) add: (IRVariable new\x0a\x09\x09\x09variable: (aNode scope pseudoVars at: 'self');\x0a\x09\x09\x09yourself) ].\x0a\x0a\x09^ self method", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["method:", "source:", "new", "crlfSanitized", "source", "theClass:", "theClass", "arguments:", "arguments", "selector:", "selector", "sendIndexes:", "sendIndexes", "superSends:", "superSends", "classReferences:", "classReferences", "scope:", "scope", "yourself", "do:", "temps", "add:", "method", "name:", "name", "nodes", "visit:", "ifFalse:", "hasLocalReturn", "variable:", "at:", "pseudoVars"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["IRMethod", "IRTempDeclaration", "IRReturn", "IRVariable"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IRASTTranslator); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1336,7 +1352,7 @@ smalltalk.IRClosure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addClass('IRMethod', smalltalk.IRClosureInstruction, ['theClass', 'source', 'selector', 'classReferences', 'messageSends', 'superSends', 'internalVariables'], 'Compiler-IR'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addClass('IRMethod', smalltalk.IRClosureInstruction, ['theClass', 'source', 'selector', 'classReferences', 'sendIndexes', 'superSends', 'internalVariables'], 'Compiler-IR'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IRMethod.comment="I am a method instruction"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1439,28 +1455,12 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self["@messageSends"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(self._sendIndexes())._keys(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"messageSends",{},smalltalk.IRMethod)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "messageSends\x0a\x09^ messageSends", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.IRMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "messageSends:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aCollection){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self["@messageSends"]=aCollection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"messageSends:",{aCollection:aCollection},smalltalk.IRMethod)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aCollection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "messageSends: aCollection\x0a\x09messageSends := aCollection", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "messageSends\x0a\x09^ self sendIndexes keys", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["keys", "sendIndexes"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IRMethod); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1517,6 +1517,40 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IRMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "sendIndexes", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self["@sendIndexes"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"sendIndexes",{},smalltalk.IRMethod)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "sendIndexes\x0a\x09^ sendIndexes", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.IRMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "sendIndexes:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aDictionary){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self["@sendIndexes"]=aDictionary; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"sendIndexes:",{aDictionary:aDictionary},smalltalk.IRMethod)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aDictionary"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "sendIndexes: aDictionary\x0a\x09sendIndexes := aDictionary", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.IRMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "source", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1723,6 +1757,29 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IRReturn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "scope", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self["@scope"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(($receiver = $2) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(self._parent())._scope(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx1) {$ctx1.fill(self,"scope",{},smalltalk.IRReturn)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "scope\x0a\x09^ scope ifNil: [ self parent scope ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifNil:", "scope", "parent"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.IRReturn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addClass('IRBlockReturn', smalltalk.IRReturn, [], 'Compiler-IR'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2945,21 +3002,17 @@ category: 'visiting', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (anIRSend){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(_st(anIRSend)._index()).__gt((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._stream())._nextPutSendIndexFor_(anIRSend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st(anIRSend)._classSend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(($receiver = $2) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(anIRSend)._classSend(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(($receiver = $1) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._visitSend_(anIRSend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._visitSuperSend_(anIRSend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"visitIRSend:",{anIRSend:anIRSend},smalltalk.IRJSTranslator)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["anIRSend"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "visitIRSend: anIRSend\x0a\x09anIRSend index > 1 ifTrue: [ \x0a\x09\x09self stream nextPutSendIndexFor: anIRSend ].\x0a\x09anIRSend classSend\x0a\x09\x09ifNil: [ self visitSend: anIRSend ]\x0a\x09\x09ifNotNil: [ self visitSuperSend: anIRSend ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifTrue:", ">", "index", "nextPutSendIndexFor:", "stream", "ifNil:ifNotNil:", "classSend", "visitSend:", "visitSuperSend:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "visitIRSend: anIRSend\x0a\x09anIRSend classSend\x0a\x09\x09ifNil: [ self visitSend: anIRSend ]\x0a\x09\x09ifNotNil: [ self visitSuperSend: anIRSend ].\x0a\x09\x22anIRSend index > 1 ifTrue: [ \x0a\x09\x09self stream nextPutSendIndexFor: anIRSend ].\x22", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifNil:ifNotNil:", "classSend", "visitSend:", "visitSuperSend:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IRJSTranslator); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3590,11 +3643,11 @@ _st($1)._nextPutAll_(".sendIdx[\x22"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._nextPutAll_(_st(anIRSend)._selector()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._nextPutAll_("\x22]="); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._nextPutAll_(_st(_st(anIRSend)._index())._asString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($1)._nextPutAll_(";"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"nextPutSendIndexFor:",{anIRSend:anIRSend},smalltalk.JSStream)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["anIRSend"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "nextPutSendIndexFor: anIRSend\x0a\x09self \x0a\x09\x09nextPutAll: anIRSend scope alias;\x0a\x09\x09nextPutAll: '.sendIdx[\x22';\x0a\x09\x09nextPutAll: anIRSend selector;\x0a\x09\x09nextPutAll: '\x22]=';\x0a\x09\x09nextPutAll: anIRSend index asString;\x0a\x09\x09lf", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["nextPutAll:", "alias", "scope", "selector", "asString", "index", "lf"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "nextPutSendIndexFor: anIRSend\x0a\x09self \x0a\x09\x09nextPutAll: anIRSend scope alias;\x0a\x09\x09nextPutAll: '.sendIdx[\x22';\x0a\x09\x09nextPutAll: anIRSend selector;\x0a\x09\x09nextPutAll: '\x22]=';\x0a\x09\x09nextPutAll: anIRSend index asString;\x0a\x09\x09nextPutAll: ';'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["nextPutAll:", "alias", "scope", "selector", "asString", "index"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.JSStream); 
			 |