| 
					
				 | 
			
			
				@@ -97,8 +97,10 @@ function inherits(child, parent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* SmalltalkRoot is the hidden root of the Amber hierarchy. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  All objects including `Object` inherit from SmalltalkRoot */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function SmalltalkRoot() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function SmalltalkProtoObject() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+inherits(SmalltalkProtoObject, SmalltalkRoot); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function SmalltalkObject() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-inherits(SmalltalkObject, SmalltalkRoot); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+inherits(SmalltalkObject, SmalltalkProtoObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function Smalltalk() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 inherits(Smalltalk, SmalltalkObject); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,7 +121,8 @@ function RootBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	this.__init__ = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.addPackage("Kernel-Objects"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.addPackage("Kernel-Infrastructure"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		st.wrapClassName("Object", "Kernel-Objects", SmalltalkObject, undefined, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		st.wrapClassName("ProtoObject", "Kernel-Objects", SmalltalkProtoObject, undefined, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		st.wrapClassName("Object", "Kernel-Objects", SmalltalkObject, st.ProtoObject, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.wrapClassName("Smalltalk", "Kernel-Infrastructure", Smalltalk, st.Object, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.wrapClassName("UndefinedObject", "Kernel-Objects", SmalltalkNil, st.Object, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -326,8 +329,8 @@ function ClassesBrik(brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.wrapClassName("Class", "Kernel-Classes", SmalltalkClass, st.Behavior, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		// Manually bootstrap the metaclass hierarchy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		st.Object.klass.superclass = rootAsClass.klass = st.Class; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		addSubclass(st.Object.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		st.ProtoObject.klass.superclass = rootAsClass.klass = st.Class; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		addSubclass(st.ProtoObject.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		st.wrapClassName("Package", "Kernel-Infrastructure", SmalltalkPackage, st.Object, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 |