[squeak-dev] The Trunk: EToys-mt.383.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 4 16:02:32 UTC 2020


Marcel Taeumel uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-mt.383.mcz

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

Name: EToys-mt.383
Author: mt
Time: 4 March 2020, 5:02:24.289827 pm
UUID: 65cbaa81-5887-b542-bbce-bbe45e41ed84
Ancestors: EToys-mt.382

Removes more deprecated message sends.

=============== Diff against EToys-mt.382 ===============

Item was changed:
  ----- Method: CategoryViewer>>showCategoriesFor: (in category 'categories') -----
  showCategoriesFor: aSymbol
  	"Put up a pop-up list of categories in which aSymbol is filed; replace the receiver with a CategoryViewer for the one the user selects, if any"
  
  	| allCategories aVocabulary hits meths chosen aMenu aCaption symbolToReport |
  	aVocabulary := self currentVocabulary.
  	allCategories := scriptedPlayer categoriesForVocabulary: aVocabulary limitClass: ProtoObject.
  
  	hits := allCategories select:
  		[:aCategory | 
  			meths := aVocabulary allMethodsInCategory: aCategory forInstance: scriptedPlayer ofClass: scriptedPlayer class.
  			meths includes: aSymbol].
  
  	hits isEmpty ifTrue: [^ self inform: 'this tile is not actually suitable for use with this kind of object' translated].
  
+ 	symbolToReport := (aSymbol beginsWith: 'get') ifTrue: [aSymbol inherentSelector] ifFalse: [aSymbol].
- 	symbolToReport := (aSymbol beginsWith: 'get') ifTrue: [Utilities inherentSelectorForGetter: aSymbol] ifFalse: [aSymbol].
  
  	aMenu := SelectionMenu selections: hits.
  	aCaption := hits size = 1
  		ifTrue:
  			 ['is in the following category' translated]
  		ifFalse:
  			['can be found in the following categories' translated].
  
  	chosen := aMenu startUpWithCaption:  symbolToReport, ' ', aCaption.
  	chosen isEmptyOrNil ifFalse:
  		[self outerViewer addCategoryViewerFor: chosen atEnd: true]
  
  	!

Item was changed:
  ----- Method: DialectParser>>parseArgsAndTemps:notifying: (in category 'as yet unclassified') -----
  parseArgsAndTemps: aString notifying: req 
  	"Parse the argument, aString, notifying req if an error occurs. Otherwise, 
  	answer a two-element Array containing Arrays of strings (the argument 
  	names and temporary variable names)."
  
  	aString == nil ifTrue: [^#()].
  	doitFlag := false.		"Don't really know if a doit or not!!"
  	^self initPattern: aString
- 		notifying: req
  		return: [:pattern | (pattern at: 2) , self temporaries]!

Item was changed:
  ----- Method: KedamaExamplerPlayer>>userDefinedSlotGetters (in category '*Etoys-Squeakland-private') -----
  userDefinedSlotGetters
  
+ 	^ turtles info keys asArray collect: [:e | e asGetterSelector].
- 	^ turtles info keys asArray collect: [:e | Utilities getterSelectorFor: e].
  !

Item was changed:
  ----- Method: KedamaExamplerPlayer>>userDefinedSlotSetters (in category '*Etoys-Squeakland-private') -----
  userDefinedSlotSetters
  
+ 	^ turtles info keys asArray collect: [:e | e asSetterSelector].
- 	^ turtles info keys asArray collect: [:e | Utilities setterSelectorFor: e].
  !

Item was changed:
  ----- Method: KedamaSequenceExecutionStub>>removeSlotNamed: (in category 'method management') -----
  removeSlotNamed: aSlotName
  
+ 	self class removeSelectorSilently: aSlotName asGetterSelector.
+ 	self class removeSelectorSilently: aSlotName asSetterSelector.
- 	self class removeSelectorSilently: (Utilities getterSelectorFor: aSlotName).
- 	self class removeSelectorSilently: (Utilities setterSelectorFor: aSlotName).
  	self compileAllAccessors.
  !

Item was changed:
  ----- Method: KedamaTurtleVectorPlayer2>>removeVectorSlotNamed: (in category 'player protocol') -----
  removeVectorSlotNamed: aSlotName
  
  	| index newArrays |
  	index := info at: aSlotName asSymbol ifAbsent: [^ self].
  	newArrays := (arrays copyFrom: 1 to: index - 1), (arrays copyFrom: index + 1 to: arrays size).
  	types replaceFrom: index to: types size - 1 with: types startingAt: index + 1.
  
  	info removeKey: aSlotName asSymbol.
  	info associationsDo: [:assoc | assoc value > index ifTrue: [info at: assoc key put: assoc value - 1]].
  	arrays := newArrays.
+ 	self class removeSelectorSilently: aSlotName asGetterSelector.
+ 	self class removeSelectorSilently: aSlotName asSetterSelector.
- 	self class removeSelectorSilently: (Utilities getterSelectorFor: aSlotName).
- 	self class removeSelectorSilently: (Utilities setterSelectorFor: aSlotName).
  	self compileAllAccessors.
  !

Item was changed:
  ----- Method: Parser>>parseArgsAndTemps:notifying: (in category '*Etoys-Squeakland-public access') -----
  parseArgsAndTemps: aString notifying: req 
          "Parse the argument, aString, notifying req if an error occurs. Otherwise, 
          answer a two-element Array containing Arrays of strings (the argument 
          names and temporary variable names)."
  
          (req notNil and: [RequestAlternateSyntaxSetting signal]) ifTrue:
                  [^ (self as: DialectParser) parseArgsAndTemps: aString notifying: req].
          aString == nil ifTrue: [^#()].
          doitFlag := false.               "Don't really know if a doit or not!!"
          ^self initPattern: aString
-                 notifying: req
                  return: [:pattern | (pattern at: 2) , (self temporariesIn: (pattern at: 1))]!

Item was changed:
  ----- Method: PhraseTileMorph>>updatingOperatorNodeWith: (in category '*Etoys-Squeakland-code generation') -----
  updatingOperatorNodeWith: encoder
  
  	| sel rec args |
+ 	sel := submorphs second assignmentRoot asGetterSelector.
- 	sel := Utilities getterSelectorFor: submorphs second assignmentRoot.
  	rec := submorphs first parseNodeWith: encoder.
  	args := WriteStream on: (Array new: 3).
  
  	((submorphs second isMemberOf: TileCommandWithArgumentMorph)
  		or: [(submorphs second isMemberOf: KedamaSetColorComponentTile)
  			or: [submorphs second isMemberOf: KedamaSetPixelValueTile]]) ifTrue: [
  				args nextPut: (submorphs second parseNodeWith: encoder).
  	].
  
  	^ MessageNode new
  				receiver: rec
  				selector: sel
  				arguments: args contents
  				precedence: (sel precedence)
  				from: encoder
  				sourceRange: nil.
  !

Item was changed:
  ----- Method: Player>>getPageCount (in category '*Etoys-Squeakland-playing commands') -----
  getPageCount
  
  	| b |
+ 	b := ScrapBook default scrapBook renderedMorph.
- 	b := Utilities scrapsBook renderedMorph.
  	^ b ifNotNil: [b pages size] ifNil: [1].
  !

Item was changed:
  ----- Method: Player>>getPrecisionFor: (in category '*Etoys-Squeakland-slots-user') -----
  getPrecisionFor: slotName 
  	"get the precision for the given slot name"
  
  	| aGetter places precision |
  	precision := 1.
  	(self slotInfo includesKey: slotName) 
  				ifTrue: 
  					["it's a user slot"
  					precision := (self slotInfoAt: slotName) floatPrecision]
  				ifFalse: 
  					["reference to system slots"
+ 					aGetter := slotName asGetterSelector.
- 					aGetter := Utilities getterSelectorFor: slotName.
  					self costume renderedMorph ifNotNil: [ :morph |
  						places := morph decimalPlacesForGetter: aGetter.
  						precision := Utilities floatPrecisionForDecimalPlaces: places ]].
  	^precision!

Item was changed:
  ----- Method: Player>>removeWatchersOfSlotNamed: (in category '*Etoys-Squeakland-translation') -----
  removeWatchersOfSlotNamed: aName
  	"A variable has been removed.  Deal with possible watchers."
  
  	| aGetter |
+ 	aGetter := aName asGetterSelector.
- 	aGetter := Utilities getterSelectorFor: aName.
  	self allPossibleWatchersFromWorld do: [:aWatcher |
  		(aWatcher getSelector = aGetter) ifTrue:
  			[aWatcher stopStepping.
  			(aWatcher ownerThatIsA: WatcherWrapper) ifNotNil:
  				[:aWrapper | aWrapper delete]]]!

Item was changed:
  ----- Method: Player>>setPrecisionFor:precision: (in category '*Etoys-Squeakland-slots-user') -----
  setPrecisionFor: slotName precision: aNumber
  | val |
  (self slotInfo includesKey: slotName) 
  	ifTrue: 
  		["it's a user slot"
  
  		(self slotInfoAt: slotName) 
  			floatPrecision: (Utilities floatPrecisionForDecimalPlaces: aNumber).
  		self class allInstancesDo: 
  				[:anInst | 
  				aNumber == 0 
  					ifFalse: 
  						[((val := anInst instVarNamed: slotName asString) isInteger) 
  							ifTrue: [anInst instVarNamed: slotName asString put: val asFloat]].
  				anInst updateAllViewers]]
  	ifFalse: 
  		["it's specifying a preference for precision on a system-defined numeric slot"
  
+ 		self noteDecimalPlaces: aNumber forGetter: slotName asGetterSelector.
- 		self noteDecimalPlaces: aNumber forGetter: (Utilities getterSelectorFor: slotName).
  		self updateAllViewers]!

Item was changed:
  ----- Method: Utilities class>>emptyScrapsBookGC (in category '*Etoys-Squeakland-scraps') -----
  emptyScrapsBookGC
  	"Get rid of trashed siblings so they won't appear in allSiblingsDo:"
  	"Utilities emptyScrapsBookGC"
  
  	| doGC |
  	doGC := (ScrapsBook ifNotNil: [ScrapsBook pages size > 1]) ~~ false.
+ 	ScrapBook default emptyScrapBook.
- 	self emptyScrapsBook.
  	doGC ifTrue: [Smalltalk garbageCollect].!

Item was changed:
  ----- Method: WatcherWrapper>>getter (in category '*Etoys-Squeakland-accessing') -----
  getter
  	"Answer the selector that serves as the getter for this watcher."
  
+ 	^  self valueOfProperty: #getter ifAbsent: [variableName asGetterSelector]!
- 	^  self valueOfProperty: #getter ifAbsent: [Utilities getterSelectorFor: variableName]!



More information about the Squeak-dev mailing list