0000-11-25 11:04:39 UTC
==================== Summary ====================
Time: 23 November 2018, 11:12:47.414703 pm
- Suggestion that #basicClass should be inlined while #class should be a message send, so that Proxy's can be supported.
- If so, then #xxxClass can be banished.
- With #xxxClass banished, the Squeak code that called it can be written normally, simply as "class".
=============== Diff against Kernel-eem.1197 ===============
Item was added:
+ ----- Method: Object>>basicClass (in category 'class membership') -----
+ "Primitive. Answer the object which is the receiver's class. Essential. See
+ Object documentation whatIsAPrimitive."
+ <primitive: 111>
+ self primitiveFailed!
Item was changed:
----- Method: Object>>class (in category 'class membership') -----
+ "Answer the object which is the receiver's class. Essential."
- "Primitive. Answer the object which is the receiver's class. Essential. See
- Object documentation whatIsAPrimitive."
+ ^ self basicClass!
- <primitive: 111>
- self primitiveFailed!
Item was changed:
----- Method: Object>>storeDataOn: (in category 'objects from disk') -----
"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 class
- beginInstance: self xxxClass
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)]].
Item was removed:
- ----- Method: Object>>xxxClass (in category 'class membership') -----
- "For subclasses of nil, such as ObjectOut"