[squeak-dev] The Trunk: System-bf.966.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Oct 14 12:31:12 UTC 2017

Bert Freudenberg uploaded a new version of System to project The Trunk:

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

Name: System-bf.966
Author: bf
Time: 14 October 2017, 2:30:57.487381 pm
UUID: be22259c-73c6-4721-86a9-f17059c77ebf
Ancestors: System-dtl.965

Mark SmartRefStream>>mapClass: as sender of all conversion methods.

=============== Diff against System-dtl.965 ===============

Item was added:
+ ----- Method: SmartRefStream class>>isConversionSelector: (in category 'browsing support') -----
+ isConversionSelector: aSelector
+ 	"Let mapClass: be found as sender of our conversion methods"
+ 	^aSelector last isDigit and: [self includesSelector: aSelector]
+ !

Item was changed:
  ----- Method: SmartRefStream>>mapClass: (in category 'read write') -----
  mapClass: incoming
  	"See if the old class named nm exists.  If so, return it.  If not, map it to a new class, and save the mapping in renamed.  "
+ 	<hasLiteralTest: #isConversionSelector:>
+ 	"To find this method as sender of all conversion methods"
  	| cls oldVer sel nm |
  	self flag: #bobconv.	
  	nm := renamed at: incoming ifAbsent: [incoming].	"allow pre-mapping around collisions"
  	(nm endsWith: ' class') 
  		ifFalse: [cls := Smalltalk at: nm ifAbsent: [nil].
  			cls ifNotNil: [^ cls]]  	"Known class.  It will know how to translate the instance."
  		ifTrue: [cls := Smalltalk at: nm substrings first asSymbol ifAbsent: [nil].
  			cls ifNotNil: [^ cls class]]. 	"Known class.  It will know how to translate the instance."
  	oldVer := self versionSymbol: (structures at: nm).
  	sel := nm asString.
  	sel at: 1 put: (sel at: 1) asLowercase.
  	sel := sel, oldVer.	"i.e. #rectangleoc4"
- 	self flag: #multiNewParagraphttfclpomsswfpp0. "identify senders of multiNewParagraphttfclpomsswfpp0"
  	Symbol hasInterned: sel ifTrue: [:symb | 
  		(self class canUnderstand: sel asSymbol) ifTrue: [
  			reshaped ifNil: [reshaped := Dictionary new].
  			cls := self perform: sel asSymbol]].	"This class will take responsibility"
  	cls ifNil: [cls := self writeClassRenameMethod: sel was: nm
  					fromInstVars: (structures at: nm).
  			   cls isString ifTrue: [cls := nil]].
  	cls ifNotNil: [renamed at: nm put: cls name].
  	^ cls

More information about the Squeak-dev mailing list