[squeak-dev] The Trunk: ST80-ar.112.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Mar 6 05:04:04 UTC 2010
Andreas Raab uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-ar.112.mcz
==================== Summary ====================
Name: ST80-ar.112
Author: ar
Time: 5 March 2010, 9:03:40.858 pm
UUID: 48cfbc1c-b804-1540-a584-90af16c1072b
Ancestors: ST80-dtl.111
Avoid dictionary protocol in Smalltalk.
=============== Diff against ST80-dtl.111 ===============
Item was changed:
----- Method: ParagraphEditor>>explainClass: (in category 'explain') -----
explainClass: symbol
"Is symbol a class variable or a pool variable?"
| class reply classes |
(model respondsTo: #selectedClassOrMetaClass)
ifFalse: [^ nil].
(class := model selectedClassOrMetaClass) ifNil: [^ nil].
"no class is selected"
(class isKindOf: Metaclass)
ifTrue: [class := class soleInstance].
classes := (Array with: class)
, class allSuperclasses.
"class variables"
reply := classes detect: [:each | (each classVarNames detect: [:name | symbol = name]
ifNone: [])
~~ nil]
ifNone: [].
reply == nil ifFalse: [^ '"is a class variable, defined in class ' , reply printString , '"\' withCRs , 'SystemNavigation new browseAllCallsOn: (' , reply printString , ' classPool associationAt: #' , symbol , ').'].
"pool variables"
classes do: [:each | (each sharedPools
detect: [:pool | (pool includesKey: symbol)
and:
[reply := pool.
true]]
ifNone: [])
~~ nil].
reply
ifNil: [(Undeclared includesKey: symbol)
ifTrue: [^ '"is an undeclared variable.' , '"\' withCRs , 'SystemNavigation new browseAllCallsOn: (Undeclared associationAt: #' , symbol , ').']]
ifNotNil:
[classes := WriteStream on: Array new.
self systemNavigation
allBehaviorsDo: [:each | (each sharedPools
detect:
[:pool |
pool == reply]
ifNone: [])
~~ nil ifTrue: [classes nextPut: each]].
"Perhaps not print whole list of classes if too long. (unlikely)"
+ ^ '"is a pool variable from the pool ' , (Smalltalk globals keyAtIdentityValue: reply) asString , ', which is used by the following classes ' , classes contents printString , '"\' withCRs , 'SystemNavigation new browseAllCallsOn: (' , (Smalltalk globals keyAtIdentityValue: reply) asString , ' bindingOf: #' , symbol , ').'].
- ^ '"is a pool variable from the pool ' , (Smalltalk keyAtIdentityValue: reply) asString , ', which is used by the following classes ' , classes contents printString , '"\' withCRs , 'SystemNavigation new browseAllCallsOn: (' , (Smalltalk keyAtIdentityValue: reply) asString , ' bindingOf: #' , symbol , ').'].
^ nil!
Item was changed:
----- Method: ParagraphEditor>>referencesToIt (in category 'menu messages') -----
referencesToIt
"Open a references browser on the selected symbol"
| aSymbol |
self selectLine.
((aSymbol := self selectedSymbol) == nil or:
+ [(Smalltalk globals includesKey: aSymbol) not])
- [(Smalltalk includesKey: aSymbol) not])
ifTrue: [^ view flash].
+ self terminateAndInitializeAround: [self systemNavigation browseAllCallsOn: (Smalltalk globals associationAt: self selectedSymbol)]!
- self terminateAndInitializeAround: [self systemNavigation browseAllCallsOn: (Smalltalk associationAt: self selectedSymbol)]!
Item was changed:
----- Method: MVCProject>>pauseSoundPlayers (in category 'enter') -----
pauseSoundPlayers
"Pause sound players, subject to preference settings"
+ Smalltalk at: #ScorePlayer ifPresent:[:playerClass|
+ playerClass allSubInstancesDo: [:player | player pause]]!
- Smalltalk at: #ScorePlayer
- ifPresentAndInMemory: [:playerClass | playerClass
- allSubInstancesDo: [:player | player pause]]!
More information about the Squeak-dev
mailing list
|