| 
					
				 | 
			
			
				@@ -1122,6 +1122,28 @@ define("amber/boot", [ 'require', './browser-compatibility' ], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* Defines asReceiver to be present at load time */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* (logically it belongs more to PrimitiveBrik) */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function AsReceiverBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var nil = brikz.ensure("root").nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * This function is used all over the compiled amber code. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * It takes any value (JavaScript or Smalltalk) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * and returns a proper Amber Smalltalk receiver. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * null or undefined -> nil, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * plain JS object -> wrapped JS object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * otherwise unchanged 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.asReceiver = function (o) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (o == null) { return nil; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (o.klass) { return o; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return globals.JSObjectProxy._on_(o); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Making smalltalk that can load */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1136,6 +1158,7 @@ define("amber/boot", [ 'require', './browser-compatibility' ], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.stInit = SmalltalkInitBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.augments = AugmentsBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.amdBrik = AMDBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	brikz.asReceiverBrik = AsReceiverBrik; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	brikz.rebuild(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1149,5 +1172,5 @@ define("amber/boot", [ 'require', './browser-compatibility' ], function (require 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		brikz.rebuild(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return { vm: api, nil: brikz.root.nil, globals: globals }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return { vm: api, nil: brikz.root.nil, globals: globals, asReceiver: brikz.asReceiverBrik.asReceiver }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 |