The Trunk: Tools-mt.678.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Tools-mt.678.mcz

commits-2
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.!