[squeak-dev] The Inbox: System-fbs.528.mcz

commits at source.squeak.org commits at source.squeak.org
Thu May 9 21:40:25 UTC 2013


Frank Shearar uploaded a new version of System to project The Inbox:
http://source.squeak.org/inbox/System-fbs.528.mcz

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

Name: System-fbs.528
Author: fbs
Time: 9 May 2013, 10:39:54.298 pm
UUID: 4da211f7-b4fa-45b4-9560-f43e2c643510
Ancestors: System-fbs.527

SystemNavigation is one of the core parts of how Tools reflect on an image. This modest proposal introduces (partially) a means of making a SystemNavigation reflect on an Environment. It relies on Environments-fbs.27

=============== Diff against System-fbs.527 ===============

Item was changed:
  Object subclass: #SystemNavigation
+ 	instanceVariableNames: 'browserClass hierarchyBrowserClass environment'
- 	instanceVariableNames: 'browserClass hierarchyBrowserClass'
  	classVariableNames: 'Default'
  	poolDictionaries: ''
  	category: 'System-Support'!
  
  !SystemNavigation commentStamp: 'mha 8/26/2010 09:02' prior: 0!
  I support the navigation of the system. I act as a facade but as I could require some state
  or different way of navigating the system all my behavior are on the instance side.
  
  
  For example if you want to look at all methods you have written or changed in the current image do
  
  SystemNavigation new browseAllSelect: [ :method |
         method fileIndex > 1 "only look at changes file"
         and: [ method timeStamp beginsWith: 'your-initials-here' ] ].
  
  !

Item was added:
+ ----- Method: SystemNavigation class>>for: (in category 'accessing') -----
+ for: anEnvironment
+ 	^ self basicNew initializeWithEnvironment: anEnvironment.!

Item was changed:
  ----- Method: SystemNavigation>>allBehaviorsDo: (in category 'query') -----
  allBehaviorsDo: aBlock 
  	"Evaluate the argument, aBlock, for each kind of Behavior in the system 
  	(that is, Object and its subclasses and Traits).
  	ar 7/15/1999: The code below will not enumerate any obsolete or anonymous
  	behaviors for which the following should be executed:
  
  		Smalltalk allObjectsDo:[:obj| obj isBehavior ifTrue:[aBlock value: obj]].
  
  	but what follows is way faster than enumerating all objects."
  
+ 	self environment rootClasses do:
- 	Class rootsOfTheWorld do:
  		[:root|
  		root withAllSubclassesDo:
  			[:class|
  			class isMeta ifFalse: "The metaclasses are rooted at Class; don't include them twice."
  				[aBlock value: class; value: class class]]].
  	ClassDescription allTraitsDo: aBlock!

Item was added:
+ ----- Method: SystemNavigation>>environment (in category 'private') -----
+ environment
+ 	^ environment ifNil: [environment := Smalltalk globals].!

Item was added:
+ ----- Method: SystemNavigation>>initializeWithEnvironment: (in category 'initialize-release') -----
+ initializeWithEnvironment: anEnvironment
+ 	self initialize.
+ 	environment := anEnvironment.!



More information about the Squeak-dev mailing list