On Oct 11, 2008, at 09:39 , Marcus Denker wrote:
On 10.10.2008, at 14:30, Stéphane Ducasse wrote:
I had a look and I like it, so I'll try to make your tests pass ;).
I don't agree with the following, though:
self assert: (D>>#c3) origin = D. "this is a question because it
could be "
here I think it should be Trait2, not D. The alias c3->c2 does not
redefine the method in the class; the method still originates in
Trait2.
Not really :)
we discussed a lot with and I think that I have a point :)
the point is that since Compiled Method are copied
But even non-aliased methods are copied...
so c3 is really different from c2
and c3 is not defined in Trait2 but this is realy because there is
D that C3 exists.
so tell me what you think.
The problem with making the origin D is that then the relationship
"all methods that have the origin class D are local methdos in class
D" is not true anymore.
marcus
I think it is more important to have this true for classes then for
Traits.
I agree with Marcus.
The origin of a method for me means the behavior (trait or class) in
which a method is originally defined. That is, if I want to modify the
method without overriding it, this is the place to do it. Therefore,
even though D introduces a new name for the method, the method still
originates in Trait2.
Adrian
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project