[squeak-dev] The Trunk: Tools-mt.678.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 16 13:34:45 UTC 2016


Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.678.mcz

==================== Summary ====================

Name: Tools-mt.678
Author: mt
Time: 16 March 2016, 2:34:21.339033 pm
UUID: db77a698-d959-4e09-97d3-9011979a9723
Ancestors: Tools-topa.677

Fixes bug in Hierarchy Browser related to subclassing and class-list updating. Might be a regression fix caused by some recent updates.

Note that we might want to establish the same update mechanism as in other CodeHolder subclasses, which is #stepAt:. At the moment, Hierarchy Browsers do not recognize general changes in the class hierarchy - only if that change origins from within that hierarchy browser.

=============== Diff against Tools-topa.677 ===============

Item was removed:
- ----- Method: HierarchyBrowser>>changed: (in category 'initialization') -----
- changed: sym
- 	sym == #classList ifTrue: [self updateAfterClassChange].
- 	super changed: sym!

Item was added:
+ ----- Method: HierarchyBrowser>>copyClass (in category 'class functions') -----
+ copyClass
+ 
+ 	super copyClass.
+ 	self updateAfterClassChange.!

Item was added:
+ ----- Method: HierarchyBrowser>>defineClass:notifying: (in category 'class functions') -----
+ defineClass: defString notifying: aController  
+ 
+ 	super defineClass: defString notifying: aController.
+ 	self updateAfterClassChange.!

Item was added:
+ ----- Method: HierarchyBrowser>>defineTrait:notifying: (in category 'traits') -----
+ defineTrait: defString notifying: aController  
+ 
+ 	super defineTrait: defString notifying: aController.
+ 	self updateAfterClassChange.!

Item was changed:
  ----- Method: HierarchyBrowser>>initHierarchyForClass: (in category 'initialization') -----
  initHierarchyForClass: aClassOrMetaClass 
  	| nonMetaClass superclasses |
  	centralClass := aClassOrMetaClass.
  	nonMetaClass := aClassOrMetaClass theNonMetaClass.
  	self systemOrganizer: SystemOrganization.
  	metaClassIndicated := aClassOrMetaClass isMeta.
  	classDisplayList := OrderedCollection new.
  	(superclasses := nonMetaClass allSuperclasses reversed) withIndexDo:
  		[ : each : indent | classDisplayList add:
  			(String streamContents:
  				[ : stream | indent - 1 timesRepeat: [ stream nextPutAll: '  ' ].
  				stream nextPutAll: each name ]) ].
  	nonMetaClass
  		allSubclassesWithLevelDo:
  			[ : eachClass : lvl | classDisplayList add:
  				(String streamContents:
  					[ : stream | lvl timesRepeat: [ stream nextPutAll: '  ' ].
  					stream nextPutAll: eachClass name ]) ]
  		startingLevel: superclasses size.
+ 		
+ 	self changed: #classList.
  	self selectClass: nonMetaClass!

Item was added:
+ ----- Method: HierarchyBrowser>>renameClass (in category 'class functions') -----
+ renameClass
+ 
+ 	super renameClass.
+ 	self updateAfterClassChange.!



More information about the Squeak-dev mailing list