| 
					
				 | 
			
			
				@@ -185,7 +185,8 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		spec = spec || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var meta = metaclass(spec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var that = meta.instanceClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setupClass(that, spec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		that.fn = spec.fn || function() {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		setupClass(that, spec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         that.className = spec.className; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         that.wrapped   = spec.wrapped || false; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -198,30 +199,19 @@ function Smalltalk() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function metaclass(spec) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		var superConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		spec = spec || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(spec.superclass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			superConstructor = spec.superclass.klass.fn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			superConstructor = SmalltalkClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var that = new SmalltalkMetaclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        that.fn            = function() {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        inherits(that.fn, superConstructor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setupClass(that); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		inherits( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			that.fn = function() {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			spec.superclass ? spec.superclass.klass.fn : SmalltalkClass 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		setupClass(that); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		that.instanceClass = new that.fn(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return that; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function setupClass(klass, spec) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         spec = spec || {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!klass.fn) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    klass.fn = spec.fn || function() {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		klass.iVarNames = spec.iVarNames || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		klass.pkg = spec.pkg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |