I suspected so , ok thanks will keep in mind.

On Wed, Nov 2, 2016 at 9:13 PM p...@highoctane.be <p...@highoctane.be>
wrote:

> Of course, you need a specfic stonOn: aStream for objects that aren't
> standard objects:
>
> Check out the Ston chapter. Or  a couple of stonOn: implementers.
>
> Phil
>
> On Wed, Nov 2, 2016 at 8:03 PM, Dimitris Chloupis <kilon.al...@gmail.com>
> wrote:
>
> I tried to use my ChronosManager object with it and STON does not seem to
> like this
>
> m := ChronosManager new.
> s:= STON toString: m
> s inspect.
>
> STONWriter>>error:
> BlockClosure(Object)>>stonOn:
> STONWriter>>nextPut:
> STONWriter>>encodeKey:value:
> STONMapWriter>>at:put:
> [ :each |
> (anObject instVarNamed: each)
> ifNotNil: [ :value | dictionary at: each asSymbol put: value ]
> ifNil: [ anObject stonShouldWriteNilInstVars
> ifTrue: [ dictionary at: each asSymbol put: nil ] ] ] in [ :dictionary |
> instanceVariableNames
> do: [ :each |
> (anObject instVarNamed: each)
> ifNotNil: [ :value | dictionary at: each asSymbol put: value ]
> ifNil: [ anObject stonShouldWriteNilInstVars
> ifTrue: [ dictionary at: each asSymbol put: nil ] ] ] ] in
> STONWriter>>writeObject: in Block: [ :each | ...
> Array(SequenceableCollection)>>do:
> [ :dictionary |
> instanceVariableNames
> do: [ :each |
> (anObject instVarNamed: each)
> ifNotNil: [ :value | dictionary at: each asSymbol put: value ]
> ifNil: [ anObject stonShouldWriteNilInstVars
> ifTrue: [ dictionary at: each asSymbol put: nil ] ] ] ] in
> STONWriter>>writeObject: in Block: [ :dictionary | ...
> [ self newlineIndent.
> block value: mapWriter ] in [ | mapWriter |
> mapWriter := STONMapWriter on: self.
> writeStream nextPut: ${.
> self
> indentedDo: [ self newlineIndent.
> block value: mapWriter ].
> self newlineIndent.
> writeStream nextPut: $} ] in STONWriter>>writeObject:streamMap: in Block:
> [ self newlineIndent....
> STONWriter>>indentedDo:
> [ | mapWriter |
> mapWriter := STONMapWriter on: self.
> writeStream nextPut: ${.
> self
> indentedDo: [ self newlineIndent.
> block value: mapWriter ].
> self newlineIndent.
> writeStream nextPut: $} ] in STONWriter>>writeObject:streamMap: in Block:
> [ | mapWriter |...
> [ writeStream nextPutAll: anObject class stonName.
> self prettyPrintSpace.
> block value ] in STONWriter>>writeObject:do: in Block: [ writeStream
> nextPutAll: anObject class stonName....etc...
> STONWriter>>with:do:
> STONWriter>>writeObject:do:
> STONWriter>>writeObject:streamMap:
> STONWriter>>writeObject:
> KMKeymap(Object)>>stonOn:
> STONWriter>>nextPut:
> STONWriter>>encodeKey:value:
> [ :key :value |
> first
> ifTrue: [ first := false ]
> ifFalse: [ self mapElementSeparator ].
> self encodeKey: key value: value ] in [ self newlineIndent.
> pairs
> keysAndValuesDo: [ :key :value |
> first
> ifTrue: [ first := false ]
> ifFalse: [ self mapElementSeparator ].
> self encodeKey: key value: value ] ] in STONWriter>>encodeMap: in Block: [
> :key :value | ...
> [ :assoc | aBlock value: assoc key value: assoc value ] in
> Dictionary>>keysAndValuesDo: in Block: [ :assoc | aBlock value: assoc key
> value: assoc va...etc...
> [ :each | each ifNotNil: [ aBlock value: each ] ] in
> Dictionary>>associationsDo: in Block: [ :each | each ifNotNil: [ aBlock
> value: each ] ]
> Array(SequenceableCollection)>>do:
> Dictionary>>associationsDo:
> Dictionary>>keysAndValuesDo:
> [ self newlineIndent.
> pairs
> keysAndValuesDo: [ :key :value |
> first
> ifTrue: [ first := false ]
> ifFalse: [ self mapElementSeparator ].
> self encodeKey: key value: value ] ] in STONWriter>>encodeMap: in Block: [
> self newlineIndent....
> STONWriter>>indentedDo:
> STONWriter>>encodeMap:
> [ self encodeMap: hashedCollection ] in STONWriter>>writeMap: in Block: [
> self encodeMap: hashedCollection ]
> STONWriter>>with:do:
>
>
>

Reply via email to