[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