| 
					
				 | 
			
			
				@@ -110,6 +110,7 @@ define(['./compatibility' /* TODO remove */], function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function PackagesBrik (brikz, st) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // TODO remove .packages, have .packageDescriptors 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         st.packages = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Add a package load descriptor to the system */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -117,6 +118,7 @@ define(['./compatibility' /* TODO remove */], function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         st.addPackage = function (pkgName, properties) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!pkgName) return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return st.packages[pkgName] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // TODO remove .pkgName, have .name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 pkgName: pkgName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 properties: properties 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,8 +136,10 @@ define(['./compatibility' /* TODO remove */], function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var classes = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.buildTraitOrClass = function (pkgName, builder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // TODO remove .className, have .name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var traitOrClass = globals.hasOwnProperty(builder.className) && globals[builder.className]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (traitOrClass) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // TODO remove .pkg, have .pkgName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (!traitOrClass.pkg) throw new Error("Updated trait or class must have package: " + traitOrClass.className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // if (traitOrClass.pkg.pkgName !== pkgName) throw new Error("Incompatible cross-package update of trait or class: " + traitOrClass.className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 builder.updateExisting(traitOrClass); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -171,6 +175,7 @@ define(['./compatibility' /* TODO remove */], function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Answer all registered Smalltalk classes */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //TODO: remove the function and make smalltalk.classes an array 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // TODO: remove .classes, have .traitsOrClasses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         st.classes = this.classes = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return classes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -200,6 +205,7 @@ define(['./compatibility' /* TODO remove */], function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             that.protocol = spec.protocol; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             that.source = spec.source; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             that.messageSends = spec.messageSends || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // TODO remove .referencedClasses, have .referencedGlobals 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             that.referencedClasses = spec.referencedClasses || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             that.fn = spec.fn; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return that; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,6 +214,7 @@ define(['./compatibility' /* TODO remove */], function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /* Add/remove a method to/from a class */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         st.addMethod = function (method, traitOrBehavior) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // TODO remove .methodClass, have .owner 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (method.methodClass != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 throw new Error("addMethod: Method " + method.selector + " already bound to " + method.methodClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 |