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 ] ] ]!
packages@lists.squeakfoundation.org