|  | @@ -688,15 +688,7 @@ function InstanceBrik(brikz, st) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -function SmalltalkFactory(brikz, st) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -//	var st = this;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	/* This is the current call context object. While it is publicly available,
 | 
	
		
			
				|  |  | -		Use smalltalk.getThisContext() instead which will answer a safe copy of
 | 
	
		
			
				|  |  | -		the current context */
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	st.thisContext = undefined;
 | 
	
		
			
				|  |  | +function PrimitivesBrik(brikz, st) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* Unique ID number generator */
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -706,6 +698,48 @@ function SmalltalkFactory(brikz, st) {
 | 
	
		
			
				|  |  |  		return oid;
 | 
	
		
			
				|  |  |  	};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	/* 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 = st.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;
 | 
	
		
			
				|  |  | +	};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/* Boolean assertion */
 | 
	
		
			
				|  |  | +	st.assert = function(shouldBeBoolean) {
 | 
	
		
			
				|  |  | +		if ((undefined !== shouldBeBoolean) && (shouldBeBoolean.klass === st.Boolean)) {
 | 
	
		
			
				|  |  | +			return (shouldBeBoolean == true);
 | 
	
		
			
				|  |  | +		} else {
 | 
	
		
			
				|  |  | +			st.NonBooleanReceiver._new()._object_(shouldBeBoolean)._signal();
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/* Backward compatibility with Amber 0.9.1 */
 | 
	
		
			
				|  |  | +	st.symbolFor = function(aString) { return aString; };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function RuntimeBrik(brikz, st) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/* This is the current call context object. While it is publicly available,
 | 
	
		
			
				|  |  | +	 Use smalltalk.getThisContext() instead which will answer a safe copy of
 | 
	
		
			
				|  |  | +	 the current context */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	st.thisContext = undefined;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	st.withContext = function(worker, setup) {
 | 
	
		
			
				|  |  |  		if(st.thisContext) {
 | 
	
		
			
				|  |  |  			st.thisContext.pc++;
 | 
	
	
		
			
				|  | @@ -765,38 +799,6 @@ function SmalltalkFactory(brikz, st) {
 | 
	
		
			
				|  |  |  		st.thisContext = context.homeContext;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	/* 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 = st.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;
 | 
	
		
			
				|  |  | -	};
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	/* Boolean assertion */
 | 
	
		
			
				|  |  | -	st.assert = function(shouldBeBoolean) {
 | 
	
		
			
				|  |  | -		if ((undefined !== shouldBeBoolean) && (shouldBeBoolean.klass === st.Boolean)) {
 | 
	
		
			
				|  |  | -			return (shouldBeBoolean == true);
 | 
	
		
			
				|  |  | -		} else {
 | 
	
		
			
				|  |  | -			st.NonBooleanReceiver._new()._object_(shouldBeBoolean)._signal();
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -	};
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	/* Backward compatibility with Amber 0.9.1 */
 | 
	
		
			
				|  |  | -	st.symbolFor = function(aString) { return aString; };
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function MessageSendBrik(brikz, st) {
 | 
	
	
		
			
				|  | @@ -947,7 +949,8 @@ brikz.dnu = DNUBrik;
 | 
	
		
			
				|  |  |  brikz.messageSend = MessageSendBrik;
 | 
	
		
			
				|  |  |  brikz.organize = OrganizeBrik;
 | 
	
		
			
				|  |  |  brikz.selectorConversion = SelectorConversionBrik;
 | 
	
		
			
				|  |  | -brikz.smalltalk = SmalltalkFactory;
 | 
	
		
			
				|  |  | +brikz.runtime = RuntimeBrik;
 | 
	
		
			
				|  |  | +brikz.primitives = PrimitivesBrik;
 | 
	
		
			
				|  |  |  brikz.classInit = ClassInitBrik;
 | 
	
		
			
				|  |  |  brikz.manipulation = ManipulationBrik;
 | 
	
		
			
				|  |  |  brikz.classes = ClassesBrik;
 |