Chris Muller uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-cmm.1049.mcz
==================== Summary ====================
Name: Kernel-cmm.1049 Author: cmm Time: 11 November 2016, 2:55:37.977602 pm UUID: c1a99cf9-1315-4aac-9bdb-c84fecc12912 Ancestors: Kernel-nice.1048
Give ReferenceStream the ability to serialize objects whose behaviors were extended via #primitiveChangeClassTo:.
=============== Diff against Kernel-nice.1048 ===============
Item was changed: ----- Method: Object>>storeDataOn: (in category 'objects from disk') ----- storeDataOn: aDataStream "Store myself on a DataStream. Answer self. This is a low-level DataStream/ReferenceStream method. See also objectToStoreOnDataStream. NOTE: This method must send 'aDataStream beginInstance:size:' and then (nextPut:/nextPutWeak:) its subobjects. readDataFrom:size: reads back what we write here." | cntInstVars cntIndexedVars |
cntInstVars := self class instSize. cntIndexedVars := self basicSize. aDataStream + beginInstance: self xxxClass - beginInstance: self class size: cntInstVars + cntIndexedVars. 1 to: cntInstVars do: [:i | aDataStream nextPut: (self instVarAt: i)].
"Write fields of a variable length object. When writing to a dummy stream, don't bother to write the bytes" ((aDataStream byteStream class == DummyStream) and: [self class isBits]) ifFalse: [ 1 to: cntIndexedVars do: [:i | aDataStream nextPut: (self basicAt: i)]]. !
packages@lists.squeakfoundation.org