[squeak-dev] The Trunk: Kernel-cmm.1049.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Nov 11 20:56:20 UTC 2016

Chris Muller uploaded a new version of Kernel to project The Trunk:

==================== 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.
+ 		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)]].

More information about the Squeak-dev mailing list