[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
|