A new version of System was added to project The Inbox: http://source.squeak.org/inbox/System-hjh.962.mcz
==================== Summary ====================
Name: System-hjh.962 Author: hjh Time: 9 October 2017, 10:07:09.966808 pm UUID: 5ebbcac7-a3c3-4c48-9ddc-c669d0498b53 Ancestors: System-dtl.961
Update comment so that the 'finger print'
#layoutMorphbosfcepcbbochvimol0
refers to an exiting method in method category
'*Morphic-conversion'
Reformatted code and renamed sel to selector
=============== Diff against System-dtl.961 ===============
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. " + + | cls oldVer selector nm | + + self flag: #bobconv. + nm := renamed + at: incoming + ifAbsent: [incoming]. - 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. "
+ "allow pre-mapping around collisions" + (nm endsWith: ' class') + ifTrue: [cls := Smalltalk + at: nm substrings first asSymbol + ifAbsent: []. + cls + ifNotNil: [^ cls class]] + ifFalse: [cls := Smalltalk + at: nm + ifAbsent: []. + cls + ifNotNil: [^ cls] + "Known class. It will know how to translate the instance."]. - | cls oldVer sel nm |
+ "Known class. It will know how to translate the instance." + oldVer := self + versionSymbol: (structures at: nm). + selector := nm asString. + selector at: 1 put: (selector at: 1) asLowercase. + selector := selector , oldVer. + "i.e. #layoutMorphbosfcepcbbochvimol0" - self flag: #bobconv.
+ Symbol + hasInterned: selector + ifTrue: [:symb | (self class canUnderstand: selector asSymbol) + ifTrue: [reshaped + ifNil: [reshaped := Dictionary new]. + cls := self perform: selector asSymbol]].
+ "This class will take responsibility" + cls + ifNil: [cls := self + writeClassRenameMethod: selector + was: nm + fromInstVars: (structures at: nm). + cls isString + ifTrue: [cls := nil]]. + cls + ifNotNil: [renamed at: nm put: cls name]. + ^ cls! - 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" - 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 - !
FWIW, I'm pretty sure the variable 'reshaped' is obsolete. It's referenced in one other place and never really used.
On 10/9/17 8:07 PM, commits@source.squeak.org wrote:
A new version of System was added to project The Inbox: http://source.squeak.org/inbox/System-hjh.962.mcz
==================== Summary ====================
Name: System-hjh.962 Author: hjh Time: 9 October 2017, 10:07:09.966808 pm UUID: 5ebbcac7-a3c3-4c48-9ddc-c669d0498b53 Ancestors: System-dtl.961
Update comment so that the 'finger print'
#layoutMorphbosfcepcbbochvimol0
refers to an exiting method in method category
'*Morphic-conversion'
Reformatted code and renamed sel to selector
=============== Diff against System-dtl.961 ===============
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. "
- | cls oldVer selector nm |
- self flag: #bobconv.
- nm := renamed
at: incoming
ifAbsent: [incoming].
- 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. "
- "allow pre-mapping around collisions"
- (nm endsWith: ' class')
ifTrue: [cls := Smalltalk
at: nm substrings first asSymbol
ifAbsent: [].
cls
ifNotNil: [^ cls class]]
ifFalse: [cls := Smalltalk
at: nm
ifAbsent: [].
cls
ifNotNil: [^ cls]
"Known class. It will know how to translate the instance."].
- | cls oldVer sel nm |
- "Known class. It will know how to translate the instance."
- oldVer := self
versionSymbol: (structures at: nm).
- selector := nm asString.
- selector at: 1 put: (selector at: 1) asLowercase.
- selector := selector , oldVer.
- "i.e. #layoutMorphbosfcepcbbochvimol0"
- self flag: #bobconv.
Symbol
hasInterned: selector
ifTrue: [:symb | (self class canUnderstand: selector asSymbol)
ifTrue: [reshaped
ifNil: [reshaped := Dictionary new].
cls := self perform: selector asSymbol]].
"This class will take responsibility"
cls
ifNil: [cls := self
writeClassRenameMethod: selector
was: nm
fromInstVars: (structures at: nm).
cls isString
ifTrue: [cls := nil]].
cls
ifNotNil: [renamed at: nm put: cls name].
^ cls!
- 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"
- 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
- !
squeak-dev@lists.squeakfoundation.org