[Pkg] SystemEditor: SystemEditor-mtf.147.mcz

squeak-dev-noreply at lists.squeakfoundation.org squeak-dev-noreply at lists.squeakfoundation.org
Tue Oct 28 22:33:41 UTC 2008


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!



More information about the Packages mailing list