[squeak-dev] The Trunk: EToys-nice.38.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Oct 20 22:23:19 UTC 2009
Nicolas Cellier uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-nice.38.mcz
==================== Summary ====================
Name: EToys-nice.38
Author: nice
Time: 21 October 2009, 12:22:03 pm
UUID: 28feef8f-f608-4397-8e9c-e7efe0dd307b
Ancestors: EToys-nice.37
Use #keys rather than #fasterKeys
Note that pattern (x keys asArray sort) could as well be written (x keys sort) now that keys returns an Array...
This #asArray is here solely for cross-dialect/fork compatibility.
=============== Diff against EToys-nice.37 ===============
Item was changed:
----- Method: PasteUpMorph>>userCustomEventNames (in category '*eToys-customevents-scripting') -----
userCustomEventNames
| reg |
reg := self valueOfProperty: #userCustomEventsRegistry ifAbsent: [ ^#() ].
+ ^reg keys asArray sort!
- ^reg fasterKeys sort!
Item was changed:
----- Method: KedamaTurtleVectorPlayer>>compileAllAccessors (in category 'player protocol') -----
compileAllAccessors
+ info keys do: [:k |
- info fasterKeys do: [:k |
(#(who x y heading color visible) includes: k) ifFalse: [
self compileVectorInstVarAccessorsFor: k.
].
].
!
Item was changed:
----- Method: KedamaSequenceExecutionStub>>compileAllAccessors (in category 'method management') -----
compileAllAccessors
+ turtles info keys do: [:k |
- turtles info fasterKeys do: [:k |
(#(who x y heading color visible normal) includes: k) ifFalse: [
self compileScalarInstVarAccessorsFor: k.
].
].
!
Item was changed:
----- Method: EToyVocabulary>>includesSelector:forInstance:ofClass:limitClass: (in category 'initialization') -----
includesSelector: aSelector forInstance: anInstance ofClass: aTargetClass limitClass: mostGenericClass
"Answer whether the vocabulary includes the given selector for the given class (and instance, if provided), only considering method implementations in mostGenericClass and lower"
| classToUse aClass |
(aTargetClass isUniClass and:
[(aTargetClass namedTileScriptSelectors includes: aSelector) or:
+ [aTargetClass slotInfo keys anySatisfy:
- [aTargetClass slotInfo fasterKeys anySatisfy:
[:anInstVarName | (Utilities getterSelectorFor: anInstVarName) = aSelector or: [(Utilities setterSelectorFor: anInstVarName) = aSelector]]]])
ifTrue: [^ true].
(methodInterfaces includesKey: aSelector) ifFalse: [^ false].
classToUse := self classToUseFromInstance: anInstance ofClass: aTargetClass.
^ (aClass := classToUse whichClassIncludesSelector: aSelector)
ifNil:
[false]
ifNotNil:
[aClass includesBehavior: mostGenericClass]
!
Item was changed:
----- Method: StandardScriptingSystem>>globalCustomEventNames (in category '*eToys-customevents-custom events') -----
globalCustomEventNames
+ ^self customEventsRegistry keys asArray sort!
- ^self customEventsRegistry fasterKeys sort!
Item was changed:
----- Method: EToyVocabulary>>allMethodsInCategory:forInstance:ofClass: (in category 'method list') -----
allMethodsInCategory: aCategoryName forInstance: anObject ofClass: aClass
"Answer a list of all methods in the etoy interface which are in the given category, on behalf of anObject, or if it is nil, aClass"
| aCategory unfiltered suitableSelectors isAll |
aCategoryName ifNil: [^ OrderedCollection new].
aClass isUniClass ifTrue:
[aCategoryName = ScriptingSystem nameForScriptsCategory ifTrue:
[^ aClass namedTileScriptSelectors].
aCategoryName = ScriptingSystem nameForInstanceVariablesCategory ifTrue:
+ [^ aClass slotInfo keys asArray sort collect:
- [^ aClass slotInfo fasterKeys sort collect:
[:anInstVarName | Utilities getterSelectorFor: anInstVarName]]].
unfiltered := (isAll := aCategoryName = self allCategoryName)
ifTrue:
[methodInterfaces collect: [:anInterface | anInterface selector]]
ifFalse:
[aCategory := categories detect: [:cat | cat categoryName = aCategoryName]
ifNone: [^ OrderedCollection new].
aCategory elementsInOrder collect: [:anElement | anElement selector]].
(anObject isKindOf: Player) ifTrue:
[suitableSelectors := anObject costume selectorsForViewer.
unfiltered := unfiltered select:
[:aSelector | suitableSelectors includes: aSelector]].
(isAll and: [aClass isUniClass]) ifTrue:
[unfiltered addAll: aClass namedTileScriptSelectors.
+ unfiltered addAll: (aClass slotInfo keys sort collect:
- unfiltered addAll: (aClass slotInfo fasterKeys sort collect:
[:anInstVarName | Utilities getterSelectorFor: anInstVarName])].
^ (unfiltered copyWithoutAll: #(dummy unused)) asSortedArray!
More information about the Squeak-dev
mailing list
|