The Inbox: System-kfr.1035.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: System-kfr.1035.mcz

commits-2
A new version of System was added to project The Inbox:
http://source.squeak.org/inbox/System-kfr.1035.mcz

==================== 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!