[Pkg] SystemEditor: SystemEditor-mtf.151.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Tue Nov 4 19:11:31 UTC 2008
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!
More information about the Packages
mailing list