[Pkg] SystemEditor: SystemEditor-mtf.118.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Tue Sep 23 18:19:59 UTC 2008
Matthew Fulmer uploaded a new version of SystemEditor to project SystemEditor:
http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.118.mcz
==================== Summary ====================
Name: SystemEditor-mtf.118
Author: mtf
Time: 19 September 2008, 12:39:10 pm
UUID: 8f1488d4-07a9-415a-9a22-f078d600b19c
Ancestors: SystemEditor-mtf.117
fixed some minor bugs that were causing subclasses of modified classes to be unnecessarily recompiled
=============== Diff against SystemEditor-mtf.117 ===============
Item was changed:
----- Method: ClassDescriptionEditor>>instVarNames (in category 'editing') -----
instVarNames
+ ^ instVarNames ifNil: [self subject instVarNames]!
- ^ instVarNames ifNil: [instVarNames := self subject instVarNames]!
Item was added:
+ ----- Method: ClassEditor>>subclassesOrEditors (in category 'reflecting') -----
+ subclassesOrEditors
+ "Answer all of my subclasses, as either classes or editors, whichever is easier"
+
+ ^ system edSubclassesOrEditorsOf: self!
Item was added:
+ ----- Method: SystemEditor>>edSubclassesOrEditorsOf: (in category 'building') -----
+ edSubclassesOrEditorsOf: anEditor
+ "Answer all subclasses of the given ClassEditor, as either an editor (if it has changed), or as a class (if it has not changed). Does not add any items to my additions list"
+
+ | subclasses subeditors |
+ subclasses := anEditor subject
+ ifNil: [Set new]
+ ifNotNilDo: [ :class | class subclasses asSet].
+ subeditors := additions select: [ :ea |
+ subclasses remove: ea subject ifAbsent: [].
+ ea superclassOrEditor == anEditor].
+ removals do: [ :removedKey | subclasses remove: (subject at: removedKey) ifAbsent: []].
+ ^ subclasses asArray, subeditors asArray!
Item was changed:
----- Method: SystemEditor>>edSubclassesOf: (in category 'building') -----
+ edSubclassesOf: anEditor
+ "Answers all subclasses of the given ClassEditor, as editors"
+
+ ^ (self edSubclassesOrEditorsOf: anEditor) collect: [:ea | self edEditorFor: ea]!
- edSubclassesOf: anEditor
- | subeditors |
- subeditors := OrderedCollection new.
- anEditor subject ifNotNilDo:
- [ :class |
- subeditors addAll: (class subclasses collect: [ :ea | self edEditorFor: ea ]) ].
- additions do: [ :ea | ea superclassOrEditor == anEditor ifTrue: [ subeditors add: ea ] ].
- ^ subeditors asArray!
Item was changed:
----- Method: ClassDescriptionEditor>>validateInstVarNames (in category 'validating') -----
validateInstVarNames
self instVarNames do:
[ :ea |
(ReservedNames includes: ea) ifTrue: [ IllegalVariableName signal ].
(self superclassOrEditor allInstVarNames includes: ea) ifTrue: [ IllegalVariableName signal ].
+ self subclassesOrEditors do: [ :class | (class instVarNames includes: ea) ifTrue: [ IllegalVariableName signal ] ] ]!
- self subclasses do: [ :class | (class instVarNames includes: ea) ifTrue: [ IllegalVariableName signal ] ] ]!
More information about the Packages
mailing list