[squeak-dev] Re: Class>>binding broken
andreas.raab at gmx.de
Wed Feb 3 08:05:45 UTC 2010
Nicolas Cellier wrote:
> 2010/2/3 Igor Stasenko <siguctua at gmail.com>:
>> - a compiled method's methodClass should always point to a class
>> object, which owns a method dict where that method installed to. There
>> should be no excuses in what shape a class object currently are (like
>> transition from old class shape to a new one),
>> because assignment of wrong methodClass could lead to fatal error(s) in VM.
>> So, i assume that current implementation is incorrect, because it
>> installs a method and violates that rule.
>> Please, no deferring, because it causing more problems (leads to more
>> complex code as well as putting extra responsibility on tools, which
>> loading the code to take care of this issue).
> Doesn't this raise the problem of super semantic in a trait ?
No. The meaning of "super" is uniquely defined by the class a trait is
used in. For any method in class Foo "super" means (Foo superclass)
regardless of whether the method originates from a trait or not. For a
trait itself "super" is meaningless, since traits have no "superclass"
in the classic sense.
More information about the Squeak-dev