| 
					
				 | 
			
			
				@@ -497,9 +497,15 @@ selector: 'eval:', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aString){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.Compiler._new()._loadExpression_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self;}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: unescape('eval%3A%20aString%0A%20%20%20%20%5ECompiler%20new%20loadExpression%3A%20aString%0A')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+try{var compiler=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var node=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+compiler=smalltalk.Compiler._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+node=compiler._parseExpression_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+node._isParseFailure()._ifTrue_((function(){return (function(){throw({name: 'stReturn', selector: '_eval_', fn: function(){return self._alert_(node._reason().__comma(unescape("%2C%20position%3A%20")).__comma(node._position()))}})})();})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(function(){throw({name: 'stReturn', selector: '_eval_', fn: function(){return compiler._loadExpression_(aString)}})})(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} catch(e) {if(e.name === 'stReturn' && e.selector === '_eval_'){return e.fn()} throw(e)}}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: unescape('eval%3A%20aString%0A%20%20%20%20%7C%20compiler%20node%20%7C%0A%20%20%20%20compiler%20%3A%3D%20Compiler%20new.%0A%20%20%20%20node%20%3A%3D%20compiler%20parseExpression%3A%20aString.%0A%20%20%20%20node%20isParseFailure%20ifTrue%3A%20%5B%0A%09%5Eself%20alert%3A%20node%20reason%2C%20%27%2C%20position%3A%20%27%2C%20node%20position%5D.%0A%20%20%20%20%5Ecompiler%20loadExpression%3A%20aString%0A')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Workspace); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -981,14 +987,23 @@ selector: 'compileMethodDefinitionFor:', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'actions', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aClass){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+try{var compiler=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var method=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-method=smalltalk.Compiler._new()._load_forClass_(self['@sourceTextarea']._asJQuery()._val(),self['@selectedClass']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var source=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var node=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source=self['@sourceTextarea']._asJQuery()._val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+compiler=smalltalk.Compiler._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+node=compiler._parse_(source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+node._isParseFailure()._ifTrue_((function(){return (function(){throw({name: 'stReturn', selector: '_compileMethodDefinitionFor_', fn: function(){return self._alert_("PARSE ERROR: ".__comma(node._reason()).__comma(unescape("%2C%20position%3A%20")).__comma(node._position()._asString()))}})})();})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+compiler._currentClass_(self['@selectedClass']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+method=compiler._eval_(compiler._compileNode_(node)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 method._category_(self['@selectedProtocol']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 aClass._addCompiledMethod_(method); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._updateMethodsList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._selectMethod_(method); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self;}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: unescape('compileMethodDefinitionFor%3A%20aClass%0A%20%20%20%20%7C%20method%20%7C%0A%20%20%20%20method%20%3A%3D%20Compiler%20new%20load%3A%20sourceTextarea%20asJQuery%20val%20forClass%3A%20selectedClass.%0A%20%20%20%20method%20category%3A%20selectedProtocol.%0A%20%20%20%20aClass%20addCompiledMethod%3A%20method.%0A%20%20%20%20self%20updateMethodsList.%0A%20%20%20%20self%20selectMethod%3A%20method%0A')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} catch(e) {if(e.name === 'stReturn' && e.selector === '_compileMethodDefinitionFor_'){return e.fn()} throw(e)}}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: unescape('compileMethodDefinitionFor%3A%20aClass%0A%20%20%20%20%7C%20compiler%20method%20source%20node%20%7C%0A%20%20%20%20source%20%3A%3D%20sourceTextarea%20asJQuery%20val.%0A%20%20%20%20compiler%20%3A%3D%20Compiler%20new.%0A%20%20%20%20node%20%3A%3D%20compiler%20parse%3A%20source.%0A%20%20%20%20node%20isParseFailure%20ifTrue%3A%20%5B%0A%09%5Eself%20alert%3A%20%27PARSE%20ERROR%3A%20%27%2C%20node%20reason%2C%20%27%2C%20position%3A%20%27%2C%20node%20position%20asString%5D.%0A%20%20%20%20compiler%20currentClass%3A%20selectedClass.%0A%20%20%20%20method%20%3A%3D%20compiler%20eval%3A%20%28compiler%20compileNode%3A%20node%29.%0A%20%20%20%20method%20category%3A%20selectedProtocol.%0A%20%20%20%20aClass%20addCompiledMethod%3A%20method.%0A%20%20%20%20self%20updateMethodsList.%0A%20%20%20%20self%20selectMethod%3A%20method%0A')}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Browser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 |