Why does Squeak what it does when a method references a
non-existing ivar?
Klaus D. Witzel
klaus.witzel at cobss.com
Sat Nov 12 07:35:20 UTC 2005
Hi Cees,
you should have seen the missing ivar mentioned as 'missingIvar is
Undefined' in the Transcript, AFAIK this is so for some decades now. And
Undefined is the developer's (not the compiler's) responsibility ;)
In this case the storeIntoLit: opcode refers to the association
missingIvar -> nil in Undefined.
/Klaus
On Sat, 12 Nov 2005 01:43:05 +0100, Cees De Groot <cdegroot at gmail.com>
wrote:
> I had a funny problem with Seaside where a child component behaved in
> a funny way, which turned out to be caused by the ivar representing
> the child component not being present in the class.
>
> On investigation, it turns out that when the class is recompiled,
> methods that had e.g. a storeIntoRcvr: opcode to write the now-absent
> ivar get recompiled with a storeIntoLit: opcode.
>
> Shouldn't the compiler throw an error instead? This can result in very
> hard-to-track bugs...
>
>
More information about the Squeak-dev
mailing list
|