| 
					
				 | 
			
			
				@@ -241,6 +241,26 @@ function Smalltalk(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    .replace(/_comma/, ',') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    .replace(/_at/, '@') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* Converts a JavaScript object to valid Smalltalk Object */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    st.readJSObject = function(js) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var object = js; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var readObject = (js.constructor === Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var readArray = (js.constructor === Array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if(readObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    object = smalltalk.Dictionary._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	for(var i in js) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    if(readObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		object._at_put_(i, st.readJSObject(js[i])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    if(readArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		object[i] = st.readJSObject(js[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function SmalltalkMethodContext() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -288,6 +308,8 @@ smalltalk.mapClassName("String", "Kernel", String, smalltalk.SequenceableCollect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.mapClassName("Array", "Kernel", Array, smalltalk.SequenceableCollection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.mapClassName("RegularExpression", "Kernel", RegExp, smalltalk.String); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.mapClassName("Error", "Kernel", Error, smalltalk.Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(CanvasRenderingContext2D) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     smalltalk.mapClassName("CanvasRenderingContext", "Canvas", CanvasRenderingContext2D, smalltalk.Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |