[squeak-dev] The Inbox: System-kfr.1035.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Jun 20 20:26:19 UTC 2018

A new version of System was added to project The Inbox:

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

Name: System-kfr.1035
Author: kfr
Time: 20 June 2018, 10:25:50.866801 pm
UUID: 9e37c8af-09e4-224b-8420-59f1ee97380b
Ancestors: System-ul.1034

SmartRefStream's instance variable 'renamed' gives false positives for conversion. Check if the old class is in 'structure', if not just use the new class

=============== Diff against System-ul.1034 ===============

Item was changed:
  ----- Method: SmartRefStream>>reshapedClassesIn: (in category 'import image segment') -----
  reshapedClassesIn: outPointers
  	"Look for classes in the outPointer array that have changed shape.  Make a fake class for the old shape.  Return a dictionary mapping Fake classes to Real classes.  Substitute fake classes for real ones in outPointers."
  	| mapFakeClassesToReal |
  	self flag: #bobconv.	
  	mapFakeClassesToReal := IdentityDictionary new.
  	outPointers withIndexDo: [:outp :ind | | originalName fakeCls | 
  		outp isBehavior ifTrue: [
  			originalName := renamed keyAtValue: outp name
  				ifAbsent: [renamedConv at: ind ifAbsent: [outp name]].
+ 			structures at: originalName ifAbsent: [originalName := outp name]. "check for false positives in renamed"
  				"in DiskProxy>>comeFullyUpOnReload: we saved the name at the index"
  			fakeCls := self mapClass: outp origName: originalName.
  			fakeCls == outp ifFalse: [
  				mapFakeClassesToReal at: fakeCls put: outp.
  				outPointers at: ind put: fakeCls]]].
  	^ mapFakeClassesToReal!

More information about the Squeak-dev mailing list