A new version of SystemEditor was added to project SystemEditor: http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.147.mcz
==================== Summary ====================
Name: SystemEditor-mtf.147 Author: mtf Time: 28 October 2008, 10:33 pm UUID: ef6cea33-6b13-4f5b-aea5-86ab35bb4320 Ancestors: SystemEditor-mtf.146
An idea to simplify ClassExporter by having each editor implement edPostLoad. I don't think it will work, since after the atomic swap, the old instances should not be available. I plan on persuing a different route to make ClassExporter not so tied to ClassEditor
=============== Diff against SystemEditor-mtf.146 ===============
Item was added: + ----- Method: SystemEditor>>edPostLoad (in category 'building') ----- + edPostLoad + additions do: [:ea | ea edPostLoad]!
Item was changed: ----- Method: ClassExporter>>export: (in category 'private') ----- export: aClass - ((aClass isBehavior) and: [aClass superclass notNil] - "Don't add aClass as subclass if a subclass exists that will become: aClass. - This can be checked by comparing the names. Otherwise, redundent - subclass entries appear, which makes - SystemNavigation>>allBehaviorsDo: find classes twice" - and: [aClass superclass subclasses noneSatisfy: [:ea | ea name = aClass name]]) - ifTrue: [aClass superclass addSubclass: aClass]. (environment includesKey: aClass name) + ifTrue: [self replace: aClass]! - ifTrue: [self replace: aClass] - ifFalse: [environment at: aClass name put: aClass]!
Item was added: + ----- Method: ClassEditor>>edPostLoad (in category 'building') ----- + edPostLoad + self product superclass ifNotNil: [self product superclass addSubclass: self product]. + self environment subject at: self product name put: self product. + self decoratorsDo: [:ea | ea edPostLoad]!
Item was changed: Object subclass: #ClassExporter instanceVariableNames: 'environment classes oldClasses newClasses' classVariableNames: '' poolDictionaries: '' category: 'SystemEditor-Editors'! + + !ClassExporter commentStamp: 'mtf 10/28/2008 18:55' prior: 0! + This class does a few things. + - The second step (becomeForward:)of ClassBuilder>>update:to: + - add each class to its superclass's subclasses list + - add each class to the SystemDictionary Smalltalk!
packages@lists.squeakfoundation.org