--- a/Object.st Mon Feb 11 17:08:53 2019 +0100
+++ b/Object.st Mon Feb 11 17:09:55 2019 +0100
@@ -634,6 +634,7 @@
! !
+
!Object methodsFor:'accessing'!
_at:index
@@ -4148,7 +4149,7 @@
|names encoding cls skipped slots virtualSlots|
self isLiteral ifTrue:[
- ^ self
+ ^ self
].
slots := self literalArrayEncodingSlotOrder.
@@ -4160,35 +4161,38 @@
encoding add:cls name.
slots do:[:instSlot |
- |value nm|
-
- nm := names at:instSlot.
- (skipped includes:nm) ifFalse:[
- (value := self instVarAt:instSlot) notNil ifTrue:[
- encoding add:(nm asMutator).
- encoding add:value literalArrayEncoding
- ]
- ]
+ |value nm enc|
+
+ nm := names at:instSlot.
+ (skipped includes:nm) ifFalse:[
+ (value := self instVarAt:instSlot) notNil ifTrue:[
+ (enc := value literalArrayEncoding) notNil ifTrue:[
+ encoding add:(nm asMutator).
+ encoding add:enc
+ ]
+ ]
+ ]
].
virtualSlots do:[:vSlotName |
- |value|
-
- (skipped includes:vSlotName) ifFalse:[
- (value := self perform:vSlotName) notNil ifTrue:[
- encoding add:(vSlotName asMutator).
- encoding add:value literalArrayEncoding
- ]
- ]
+ |value|
+
+ (skipped includes:vSlotName) ifFalse:[
+ (value := self perform:vSlotName) notNil ifTrue:[
+ encoding add:(vSlotName asMutator).
+ encoding add:value literalArrayEncoding
+ ]
+ ]
].
^ encoding asArray
"
- (1 -> 2) literalArrayEncoding
- DebugView menuSpec decodeAsLiteralArray literalArrayEncoding =
- DebugView menuSpec
+ (1 -> 2) literalArrayEncoding
+ DebugView menuSpec decodeAsLiteralArray literalArrayEncoding =
+ DebugView menuSpec
"
"Modified (comment): / 09-08-2018 / 17:31:51 / Claus Gittinger"
+ "Modified: / 11-02-2019 / 16:50:30 / sr"
!
literalArrayEncodingSlotOrder