| 
					
				 | 
			
			
				@@ -1715,38 +1715,51 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $Set(){return smalltalk.Set||(typeof Set=="undefined"?nil:Set)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $IRSendInliner(){return smalltalk.IRSendInliner||(typeof IRSendInliner=="undefined"?nil:IRSendInliner)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$4,$5,$3,$7,$8,$6,$9,$11,$12,$10,$15,$16,$14,$13,$17,$20,$21,$19,$18; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st(_st(_st(aNode)._receiver())._value()).__eq("super"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(aNode)._superSend_(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st(aNode)._receiver())._value_("self"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st(aNode)._receiver(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($2)._value_("self"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self._superSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st($Set())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st(self._superSends())._at_(_st(aNode)._selector()))._add_(aNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=self._superSends(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st(aNode)._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($4)._at_($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._add_(aNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st(_st($IRSendInliner())._inlinedSelectors())._includes_(_st(aNode)._selector()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($2)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=_st($IRSendInliner())._inlinedSelectors(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=_st(aNode)._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st($7)._includes_($8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(smalltalk.assert($6)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(aNode)._shouldBeInlined_(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st(aNode)._receiver())._shouldBeAliased_(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=_st(aNode)._receiver(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($9)._shouldBeAliased_(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self._messageSends())._at_ifAbsentPut_(_st(aNode)._selector(),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$11=self._messageSends(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$12=_st(aNode)._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$10=_st($11)._at_ifAbsentPut_($12,(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st($Set())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,5)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st(self._messageSends())._at_(_st(aNode)._selector()))._add_(aNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(aNode)._index_(_st(_st(self._messageSends())._at_(_st(aNode)._selector()))._size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(_st(aNode)._index()).__gt((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(smalltalk.assert($3)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(aNode)._shouldBeAliased_(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$15=self._messageSends(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$16=_st(aNode)._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$14=_st($15)._at_($16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$13=_st($14)._add_(aNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$17=aNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$20=self._messageSends(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$21=_st(aNode)._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$19=_st($20)._at_($21); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$18=_st($19)._size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($17)._index_($18); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.SemanticAnalyzer.superclass.fn.prototype._visitSendNode_.apply(_st(self), [aNode]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"visitSendNode:",{aNode:aNode},smalltalk.SemanticAnalyzer)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aNode"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "visitSendNode: aNode\x0a\x0a\x09aNode receiver value = 'super'\x0a\x09\x09ifTrue: [\x0a\x09\x09\x09aNode superSend: true.\x0a\x09\x09\x09aNode receiver value: 'self'.\x0a\x09\x09\x09self superSends at: aNode selector ifAbsentPut: [ Set new ].\x0a\x09\x09\x09(self superSends at: aNode selector) add: aNode ]\x0a\x09\x09\x0a\x09\x09ifFalse: [ (IRSendInliner inlinedSelectors includes: aNode selector) ifTrue: [\x0a\x09\x09\x09aNode shouldBeInlined: true.\x0a\x09\x09\x09aNode receiver shouldBeAliased: true ] ].\x0a\x0a\x09self messageSends at: aNode selector ifAbsentPut: [ Set new ].\x0a\x09(self messageSends at: aNode selector) add: aNode.\x0a\x0a\x09aNode index: (self messageSends at: aNode selector) size.\x0a\x09aNode index > 1 ifTrue: [ aNode shouldBeAliased: true ].\x0a\x0a\x09super visitSendNode: aNode", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifTrue:ifFalse:", "=", "value", "receiver", "superSend:", "value:", "at:ifAbsentPut:", "superSends", "selector", "new", "add:", "at:", "ifTrue:", "includes:", "inlinedSelectors", "shouldBeInlined:", "shouldBeAliased:", "messageSends", "index:", "size", ">", "index", "visitSendNode:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "visitSendNode: aNode\x0a\x0a\x09aNode receiver value = 'super'\x0a\x09\x09ifTrue: [\x0a\x09\x09\x09aNode superSend: true.\x0a\x09\x09\x09aNode receiver value: 'self'.\x0a\x09\x09\x09self superSends at: aNode selector ifAbsentPut: [ Set new ].\x0a\x09\x09\x09(self superSends at: aNode selector) add: aNode ]\x0a\x09\x09\x0a\x09\x09ifFalse: [ (IRSendInliner inlinedSelectors includes: aNode selector) ifTrue: [\x0a\x09\x09\x09aNode shouldBeInlined: true.\x0a\x09\x09\x09aNode receiver shouldBeAliased: true ] ].\x0a\x0a\x09self messageSends at: aNode selector ifAbsentPut: [ Set new ].\x0a\x09(self messageSends at: aNode selector) add: aNode.\x0a\x0a\x09aNode index: (self messageSends at: aNode selector) size.\x0a\x0a\x09super visitSendNode: aNode", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifTrue:ifFalse:", "=", "value", "receiver", "superSend:", "value:", "at:ifAbsentPut:", "superSends", "selector", "new", "add:", "at:", "ifTrue:", "includes:", "inlinedSelectors", "shouldBeInlined:", "shouldBeAliased:", "messageSends", "index:", "size", "visitSendNode:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["Set", "IRSendInliner"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.SemanticAnalyzer); 
			 |