| 
														
															@@ -3177,7 +3177,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
														
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $core.withContext(function($ctx1) { 
														 | 
														
														 | 
														
															 return $core.withContext(function($ctx1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
														
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-var $1,$2,$5,$4,$3,$6,$8,$7; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+var $1,$2,$5,$4,$6,$3,$7,$9,$8; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$recv(aClass)._isMetaclass(); 
														 | 
														
														 | 
														
															 $1=$recv(aClass)._isMetaclass(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 if($core.assert($1)){ 
														 | 
														
														 | 
														
															 if($core.assert($1)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $2=$recv($recv(aClass)._asString()).__comma(" is a Metaclass and cannot be removed!"); 
														 | 
														
														 | 
														
															 $2=$recv($recv(aClass)._asString()).__comma(" is a Metaclass and cannot be removed!"); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -3198,26 +3198,45 @@ $5=$recv(aClass)._name(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $ctx2.sendIdx["name"]=1; 
														 | 
														
														 | 
														
															 $ctx2.sendIdx["name"]=1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
														
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $4=$recv($5).__comma(" has a subclass: "); 
														 | 
														
														 | 
														
															 $4=$recv($5).__comma(" has a subclass: "); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-$3=$recv($4).__comma($recv(subclass)._name()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$ctx2.sendIdx[","]=3; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$6=$recv(subclass)._name(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$ctx2.sendIdx["name"]=2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$3=$recv($4).__comma($6); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
														
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $ctx2.sendIdx[","]=2; 
														 | 
														
														 | 
														
															 $ctx2.sendIdx[","]=2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
														
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return self._error_($3); 
														 | 
														
														 | 
														
															 return self._error_($3); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
														
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$ctx2.sendIdx["error:"]=2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({subclass:subclass},$ctx1,2)}); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({subclass:subclass},$ctx1,2)}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
														
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 })); 
														 | 
														
														 | 
														
															 })); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$recv($recv(aClass)._traitUsers())._ifNotEmpty_((function(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return $core.withContext(function($ctx2) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self._error_($recv($recv(aClass)._name()).__comma(" has trait users.")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 self._deleteClass_(aClass); 
														 | 
														
														 | 
														
															 self._deleteClass_(aClass); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $recv(aClass)._setTraitComposition_([]); 
														 | 
														
														 | 
														
															 $recv(aClass)._setTraitComposition_([]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
														
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $ctx1.sendIdx["setTraitComposition:"]=1; 
														 | 
														
														 | 
														
															 $ctx1.sendIdx["setTraitComposition:"]=1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
														
														 | 
														
															 //>>excludeEnd("ctx"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $recv($recv(aClass)._class())._setTraitComposition_([]); 
														 | 
														
														 | 
														
															 $recv($recv(aClass)._class())._setTraitComposition_([]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-$6=$recv($globals.SystemAnnouncer)._current(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-$8=$recv($globals.ClassRemoved)._new(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-$recv($8)._theClass_(aClass); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-$7=$recv($8)._yourself(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-$recv($6)._announce_($7); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$7=$recv($globals.SystemAnnouncer)._current(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$9=$recv($globals.ClassRemoved)._new(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$recv($9)._theClass_(aClass); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$8=$recv($9)._yourself(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+$recv($7)._announce_($8); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return self; 
														 | 
														
														 | 
														
															 return self; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
														
														 | 
														
															 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx1) {$ctx1.fill(self,"removeClass:",{aClass:aClass},$globals.SmalltalkImage)}); 
														 | 
														
														 | 
														
															 }, function($ctx1) {$ctx1.fill(self,"removeClass:",{aClass:aClass},$globals.SmalltalkImage)}); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -3225,10 +3244,10 @@ return self; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, 
														 | 
														
														 | 
														
															 }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeStart("ide", pragmas.excludeIdeData); 
														 | 
														
														 | 
														
															 //>>excludeStart("ide", pragmas.excludeIdeData); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aClass"], 
														 | 
														
														 | 
														
															 args: ["aClass"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "removeClass: aClass\x0a\x09aClass isMetaclass ifTrue: [ self error: aClass asString, ' is a Metaclass and cannot be removed!' ].\x0a\x09aClass allSubclassesDo: [ :subclass | self error: aClass name, ' has a subclass: ', subclass name ].\x0a\x09\x0a\x09self deleteClass: aClass.\x0a\x09aClass setTraitComposition: #().\x0a\x09aClass class setTraitComposition: #().\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassRemoved new\x0a\x09\x09\x09theClass: aClass;\x0a\x09\x09\x09yourself)", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "removeClass: aClass\x0a\x09aClass isMetaclass ifTrue: [ self error: aClass asString, ' is a Metaclass and cannot be removed!' ].\x0a\x09aClass allSubclassesDo: [ :subclass | self error: aClass name, ' has a subclass: ', subclass name ].\x0a\x09aClass traitUsers ifNotEmpty: [ self error: aClass name, ' has trait users.' ].\x0a\x09\x0a\x09self deleteClass: aClass.\x0a\x09aClass setTraitComposition: #().\x0a\x09aClass class setTraitComposition: #().\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassRemoved new\x0a\x09\x09\x09theClass: aClass;\x0a\x09\x09\x09yourself)", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: ["SystemAnnouncer", "ClassRemoved"], 
														 | 
														
														 | 
														
															 referencedClasses: ["SystemAnnouncer", "ClassRemoved"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //>>excludeEnd("ide"); 
														 | 
														
														 | 
														
															 //>>excludeEnd("ide"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-messageSends: ["ifTrue:", "isMetaclass", "error:", ",", "asString", "allSubclassesDo:", "name", "deleteClass:", "setTraitComposition:", "class", "announce:", "current", "theClass:", "new", "yourself"] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+messageSends: ["ifTrue:", "isMetaclass", "error:", ",", "asString", "allSubclassesDo:", "name", "ifNotEmpty:", "traitUsers", "deleteClass:", "setTraitComposition:", "class", "announce:", "current", "theClass:", "new", "yourself"] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $globals.SmalltalkImage); 
														 | 
														
														 | 
														
															 $globals.SmalltalkImage); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |