A new version of SystemEditor was added to project SystemEditor: http://www.squeaksource.com/SystemEditor/SystemEditor-mtf.151.mcz
==================== Summary ====================
Name: SystemEditor-mtf.151 Author: mtf Time: 3 November 2008, 6:35:03 pm UUID: c147b8cf-a403-44c2-8a82-36966e3e0a1f Ancestors: SystemEditor-mtf.150
changed edExpand to be an iterator: edDependentsDo:, and added it as a hook for decorators
=============== Diff against SystemEditor-mtf.150 ===============
Item was added: + ----- Method: ClassEditor>>edDependentSubclassesDo: (in category 'building') ----- + edDependentSubclassesDo: aBlock + "Make sure my subclasses get recompiled if my bindings have changed" + self edRequiresSubclassRebuild ifFalse: [^ #()]. + self subclassesDo: [:ea | + ea edInvalidateSuperclass. + aBlock value: ea]!
Item was added: + ----- Method: ClassDecorator>>edDependentsDo: (in category 'building') ----- + edDependentsDo: aBlock + "Find any editors that should be modified because of me, inform them if necessary, then send them to aBlock"!
Item was added: + ----- Method: ClassEditor>>edDependentSuperclassesDo: (in category 'building') ----- + edDependentSuperclassesDo: aBlock + "Fix up subclass references to myself in my old and new superclasses" + + | newSuperclass oldSuperclass newSupereditor oldSupereditor | + newSuperclass := self superclassOrEditor. + newSuperclass edIsEditor ifTrue: [newSuperclass := newSuperclass subject]. + oldSuperclass := self subject ifNotNil: [self subject superclass]. + oldSuperclass == newSuperclass ifTrue: [^ self]. + + newSupereditor := self environment edEditorFor: newSuperclass. + newSupereditor addSubclass: self. + aBlock value: newSupereditor. + oldSuperclass ifNil: [^ self]. + + oldSupereditor := self environment edEditorFor: oldSuperclass. + oldSupereditor removeSubclass: self. + aBlock value: oldSupereditor.!
Item was changed: ----- Method: SystemEditor>>edExpandEditors (in category 'building') ----- edExpandEditors | queue editor remembered | remembered := IdentitySet new. queue := additions values asOrderedCollection. [queue isEmpty] whileFalse: [editor := queue removeFirst. (remembered includes: editor) ifFalse: [ remembered add: editor. + editor edDependentsDo: [:ea | queue add: ea]]]! - queue addAll: editor edExpand]] - - !
Item was added: + ----- Method: ClassEditor>>edDependentsDo: (in category 'building') ----- + edDependentsDo: aBlock + super edDependentsDo: aBlock. + self edDependentSubclassesDo: aBlock. + self edDependentSuperclassesDo: aBlock.!
Item was added: + ----- Method: PureBehaviorEditor>>edDependentsDo: (in category 'building') ----- + edDependentsDo: aBlock + "Find any editors that should be modified because of me, inform them if necessary, then send them to aBlock" + self decoratorsDo: [:ea | ea edDependentsDo: aBlock]!
Item was removed: - ----- Method: ClassEditor>>edExpandSubclasses (in category 'building') ----- - edExpandSubclasses - "Make sure my subclasses get recompiled if my bindings have changed" - | subclasses | - self edRequiresSubclassRebuild ifFalse: [^ #()]. - subclasses := self subclasses. - subclasses do: [:ea | ea edInvalidateSuperclass]. - ^ subclasses!
Item was removed: - ----- Method: ClassEditor>>edExpandSuperclass (in category 'building') ----- - edExpandSuperclass - "Fix up subclass references to myself in my old and new superclasses" - - | newSuperclass oldSuperclass newSupereditor oldSupereditor | - newSuperclass := self superclassOrEditor. - newSuperclass edIsEditor ifTrue: [newSuperclass := newSuperclass subject]. - oldSuperclass := self subject ifNotNil: [self subject superclass]. - oldSuperclass == newSuperclass ifTrue: [^ #()]. - - newSupereditor := self environment edEditorFor: newSuperclass. - newSupereditor addSubclass: self. - oldSuperclass ifNil: [^ Array with: newSupereditor]. - - oldSupereditor := self environment edEditorFor: oldSuperclass. - oldSupereditor removeSubclass: self. - ^ Array with: oldSupereditor with: newSupereditor!
Item was removed: - ----- Method: ClassEditor>>edExpand (in category 'building') ----- - edExpand - ^ self edExpandSubclasses, self edExpandSuperclass!
packages@lists.squeakfoundation.org