| 
					
				 | 
			
			
				@@ -412,7 +412,7 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		subclasses.forEach(function(subclass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			result.push.apply(result, st.allSubclasses(subclass)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -510,10 +510,10 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return new_addMethod(klass_exMethod, exKlass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return new_addMethod(method_exJsSelector, klass_exMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// later, st.addMethod can be this: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function new_addMethod(method, klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (!(method.jsSelector)) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -526,7 +526,7 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// During the bootstrap, #addCompiledMethod is not used. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// Therefore we populate the organizer here too 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		klass.organization.elements.addElement(method.category); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// If already initialized (else it will be done later anyway), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// re-initialize all subclasses to ensure the new method 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// propagation (for wrapped classes, not using the prototype 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -536,7 +536,7 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				st.initClass(subclass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for(var i=0; i<method.messageSends.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			var dnuHandler = dnu.get(method.messageSends[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(initialized) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -640,7 +640,7 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Converts keyword-based selectors by using the first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		keyword only, but keeping all message arguments. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Example: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		"self do: aBlock with: anObject" -> "self.do(aBlock, anObject)" */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -673,8 +673,7 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function pushContext(setup) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		st.thisContext = new SmalltalkMethodContext(smalltalk.thisContext, setup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return st.thisContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return st.thisContext = new SmalltalkMethodContext(st.thisContext, setup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function popContext(context) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -758,18 +757,18 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Boolean assertion */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	st.assert = function(shouldBeBoolean) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if ((undefined !== shouldBeBoolean) && (shouldBeBoolean.klass === smalltalk.Boolean)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ((undefined !== shouldBeBoolean) && (shouldBeBoolean.klass === st.Boolean)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return (shouldBeBoolean == true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			smalltalk.NonBooleanReceiver._new()._object_(shouldBeBoolean)._signal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			st.NonBooleanReceiver._new()._object_(shouldBeBoolean)._signal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Backward compatibility with Amber 0.9.1 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	st.symbolFor = function(aString) { return aString; }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Smalltalk initialization. Called on page load */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	st.initialize = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(initialized) { return; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -779,7 +778,7 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		classes.forEach(function(klass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			klass._initialize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		initialized = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -818,7 +817,7 @@ SmalltalkMethodContext.prototype.init = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		home = home.init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.setup(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	this.setup(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 SmalltalkMethodContext.prototype.method = function() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -849,7 +848,7 @@ var _st = function(o) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if(o == null) {return nil;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if(o.klass) {return o;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return smalltalk.JSObjectProxy._on_(o); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-};  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /***************************************** BOOTSTRAP ******************************************/ 
			 |