[Newbies] Where is the setter for self?

Chris Cunnington smalltalktelevision at gmail.com
Fri Jun 1 15:42:50 UTC 2012


I'm looking at Lukas's Scriptaculous in Seaside 2.6. He has overwritten 
#printOn:. A chain of decorations is passed through and at each stage 
the resulting string is stored in self. This means the usual process of 
self containing "a SomeObject" instance has been supplanted.

This is common. If I print:

'bob' 'bob'

A string has been stored in self. I do not get:

'bob' a ByteString

In a walkback I can see ParagraphEditor>>printIt goes to 
Object>>printStringLimitedTo:. And then a LimitedWriteStream becomes 
aStream, which is filled with things that somehow go into the pseudo 
variable self. Hypothetically, like this:

self setter: aStream

I imagine the process is somewhere in the march from 
ParagraphEditor>>printIt to SUObject new.

Where is the setter for self? How is this stream populating this pseudo 
variable?

Any help would be greatly appreciated.
Thanks,

Chris


More information about the Beginners mailing list