FW: [Qsoul] FW: Bug in class message behaviour

Mats Nygren nygren at sics.se
Mon Aug 28 17:45:02 UTC 2000


Johan Fabry <johan.fabry at vub.ac.be> wrote:
> ObjectOut defines the message #xxxClass, with implementation
> "<primitive: 111>", which is identical to #class as defined in Object.
> So when ObjectOut needs to get its behaviour, it can use #xxxClass. 

I had "bad luck" with the details here.

> [snip]
> 
> As for debugging transparant proxies, two cases can be made: Do you want
> to debug the proxy or the thing the proxy points to? It is clear that
> both cases are valid ... So how's the debugger going to know? 

In my case I think it got the class from one and used instVarAt: in the
other. It looked extremely confusing. I didn't investigate it then,
knowing more about these things now perhaps I'll get back to it.

> I'd go for a standard behaviour of debugging the thing the proxy points
> to. After all, we're talking about *transparant* proxies, right? To
> debug the proxies you'll have to return to basic stuff, such as
> "Transcript show: foo asString". Ugly, I know ...

I've been thinking about letting the debugger check if
#doesNotUnderstand: is redefined and in that case have some extra
options. But more importantly whenever something that is not inheriting
from Object is debugged the debugger most be very sly. Perhaps the following
is good:

ProtoObject "minimal amount of messages"
  Debuggable(Proto)Object "messages used by debugger (instVarAt: ..) but nothing else"
    Object

> [snip]
> 
> That's the nice thing about meta-level programming: you can shoot
> yourself in the foot in *interesting* ways :-)

Have tried a few.

/Mats

> 
> --
> "You are more than the sum       Johan Fabry - Johan.Fabry at vub.ac.be
>  of what you consume.            Vrije Universiteit Brussel
>  Desire is not an occupation."   Programming Technology Lab, Room 10F709
>   -- KMFDM                       Pleinlaan 2, 1050 Brussels, Belgium





More information about the Squeak-dev mailing list