| 
					
				 | 
			
			
				@@ -405,21 +405,15 @@ selector: "visitReturnNode:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'visiting', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aNode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var return_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return_=smalltalk.send(smalltalk.send(aNode,"_nonLocalReturn",[]),"_ifTrue_ifFalse_",[(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.send((smalltalk.IRNonLocalReturn || IRNonLocalReturn),"_new",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.send((smalltalk.IRReturn || IRReturn),"_new",[]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.send(return_,"_scope_",[smalltalk.send(aNode,"_scope",[])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.send(smalltalk.send(aNode,"_nodes",[]),"_do_",[(function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.send(return_,"_add_",[smalltalk.send(self,"_visit_",[each])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var return_=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(return_=((($receiver = smalltalk.send(aNode, "_nonLocalReturn", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send((smalltalk.IRNonLocalReturn || IRNonLocalReturn), "_new", []);})() : (function(){return smalltalk.send((smalltalk.IRReturn || IRReturn), "_new", []);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return smalltalk.send((smalltalk.IRNonLocalReturn || IRNonLocalReturn), "_new", []);}), (function(){return smalltalk.send((smalltalk.IRReturn || IRReturn), "_new", []);})]))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(return_, "_scope_", [smalltalk.send(aNode, "_scope", [])]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.send(smalltalk.send(aNode, "_nodes", []), "_do_", [(function(each){return smalltalk.send(return_, "_add_", [smalltalk.send(self, "_alias_", [each])]);})]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return return_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self;}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aNode"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "visitReturnNode: aNode\x0a\x09| return |\x0a\x09return := aNode nonLocalReturn \x0a\x09\x09ifTrue: [ IRNonLocalReturn new ]\x0a\x09\x09ifFalse: [ IRReturn new ].\x0a\x09return scope: aNode scope.\x0a\x09aNode nodes do: [ :each |\x0a\x09\x09return add: (self visit: each) ].\x0a\x09^ return", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifTrue:ifFalse:", "new", "nonLocalReturn", "scope:", "scope", "do:", "add:", "visit:", "nodes"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "visitReturnNode: aNode\x0a\x09| return |\x0a\x09return := aNode nonLocalReturn \x0a\x09\x09ifTrue: [ IRNonLocalReturn new ]\x0a\x09\x09ifFalse: [ IRReturn new ].\x0a\x09return scope: aNode scope.\x0a\x09aNode nodes do: [ :each |\x0a\x09\x09return add: (self alias: each) ].\x0a\x09^ return", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifTrue:ifFalse:", "nonLocalReturn", "new", "scope:", "scope", "do:", "nodes", "add:", "alias:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["IRNonLocalReturn", "IRReturn"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.IRASTTranslator); 
			 |