[squeak-dev] The Inbox: Kernel-cmm.830.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jan 8 03:32:11 UTC 2014


A new version of Kernel was added to project The Inbox:
http://source.squeak.org/inbox/Kernel-cmm.830.mcz

==================== Summary ====================

Name: Kernel-cmm.830
Author: cmm
Time: 7 January 2014, 9:31:35.206 pm
UUID: 43453587-ee4b-48e4-93ec-43983f0c82ed
Ancestors: Kernel-fbs.829

Removing a class should remove its subclasses too.

=============== Diff against Kernel-fbs.829 ===============

Item was changed:
  ----- Method: Class>>removeFromSystem: (in category 'initialize-release') -----
  removeFromSystem: logged
  	"Forget the receiver from the Smalltalk global dictionary. Any existing 
  	instances will refer to an obsolete version of the receiver."
  	
  	"keep the class name and category for triggering the system change message. If we wait to long, then we get obsolete information which is not what we want."
  
  	"tell class to deactivate and unload itself-- two separate events in the module system"
+ 	self subclassesDo: [ : each | each removeFromSystem: logged ].
  	self deactivate; unload.
  	self superclass ifNotNil:
  		["If we have no superclass there's nothing to be remembered"
  		self superclass addObsoleteSubclass: self].
  	self environment forgetClass: self logged: logged.
  	self obsolete.!



More information about the Squeak-dev mailing list