[Pkg] The Trunk: System-cwp.501.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Nov 8 06:08:12 UTC 2012
Colin Putney uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-cwp.501.mcz
==================== Summary ====================
Name: System-cwp.501
Author: cwp
Time: 7 November 2012, 10:06:06.385 pm
UUID: 6cc43c45-80fd-43fd-bf05-13adf4e37864
Ancestors: System-dtl.500
When removing a class from the system, catch AttemptToWriteReadOnlyGlobal, and proceed with the modification.
=============== Diff against System-dtl.500 ===============
Item was changed:
----- Method: SystemDictionary>>forgetClass:logged: (in category 'classes and traits') -----
forgetClass: aClass logged: aBool
"Delete the class, aClass, from the system.
Note that this doesn't do everything required to dispose of a class - to do that use Class>>removeFromSystem."
aBool ifTrue: [SystemChangeNotifier uniqueInstance classRemoved: aClass fromCategory: aClass category].
self organization removeElement: aClass name.
Smalltalk removeFromStartUpList: aClass.
Smalltalk removeFromShutDownList: aClass.
aClass isObsolete ifFalse: [
(self associationAt: aClass name ifAbsent: [ nil ]) ifNotNil: [ :oldBinding |
| newBinding |
newBinding := oldBinding shallowCopy.
self replaceBinding: oldBinding in: aClass with: newBinding.
(self isThisBindingReferred: oldBinding) ifTrue: [
+ [oldBinding value: nil]
+ on: AttemptToWriteReadOnlyGlobal
+ do: [:ex | true].
- oldBinding value: nil.
Undeclared add: oldBinding ] ] ].
self removeKey: aClass name ifAbsent: [].
self flushClassNameCache!
More information about the Packages
mailing list