Hello,
i found that i can't debug doits which look like following:
| mytemp | mytemp := foo bar.
(select the above code and use 'debug it')
a ByteCodeAgnosticMethodNode>>printOn:
sends a #withStyleFor:do: for printing temps on a stream. But stream does not understands this message.
The WriteStream instance, used for printing a source is created in given method:
fullPrintString "Answer a String whose characters are a description of the receiver."
^ String streamContents: [:s | self printOn: s]
IMO, this is wrong. ByteCodeAgnosticMethodNode should not assume that output stream (supplied in #printOn: argument) supports any styling. For instance i can supply a file stream to it, so a method node will print its decompiled contents into a file. And, obviously, there is no any styling available.
Hi Igor,
On Sat, May 1, 2010 at 11:05 PM, Igor Stasenko siguctua@gmail.com wrote:
Hello,
i found that i can't debug doits which look like following:
| mytemp | mytemp := foo bar.
(select the above code and use 'debug it')
a ByteCodeAgnosticMethodNode>>printOn:
sends a #withStyleFor:do: for printing temps on a stream. But stream does not understands this message.
The WriteStream instance, used for printing a source is created in given method:
fullPrintString "Answer a String whose characters are a description of the receiver."
^ String streamContents: [:s | self printOn: s]
IMO, this is wrong.
Damn right :) I don't see any print methods in my Teleplace image on ByteCodeAgnosticMethodNode, and I see no senders of withStyleFor:do: in 4.1. Which image are you working in?
ByteCodeAgnosticMethodNode should not assume that
output stream (supplied in #printOn: argument) supports any styling. For instance i can supply a file stream to it, so a method node will print its decompiled contents into a file. And, obviously, there is no any styling available.
-- Best regards, Igor Stasenko AKA sig.
On 4 May 2010 01:48, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Igor,
On Sat, May 1, 2010 at 11:05 PM, Igor Stasenko siguctua@gmail.com wrote:
Hello,
i found that i can't debug doits which look like following:
| mytemp | mytemp := foo bar.
(select the above code and use 'debug it')
a ByteCodeAgnosticMethodNode>>printOn:
sends a #withStyleFor:do: for printing temps on a stream. But stream does not understands this message.
The WriteStream instance, used for printing a source is created in given method:
fullPrintString "Answer a String whose characters are a description of the receiver."
^ String streamContents: [:s | self printOn: s]
IMO, this is wrong.
Damn right :) I don't see any print methods in my Teleplace image on ByteCodeAgnosticMethodNode, and I see no senders of withStyleFor:do: in 4.1. Which image are you working in?
Good that you responded. Just checked it and found that it comes from Alien package.
MethodNode>>printOn: aStream eem 1/2/2008 18:11 · *Alien-Core-override · 236 implementors · only in change set Alien-Prereqs-mha.3 ·
so, aliens seems like a bit evil! :)
ByteCodeAgnosticMethodNode should not assume that output stream (supplied in #printOn: argument) supports any styling. For instance i can supply a file stream to it, so a method node will print its decompiled contents into a file. And, obviously, there is no any styling available.
-- Best regards, Igor Stasenko AKA sig.
squeak-dev@lists.squeakfoundation.org