Just reproducing it would be helpful :O a friend of mine already
tested the code I attatched and saw the same problem.

If you recall having a class with a method sending a message to super,
and a sublclass inheriting that method, you can try to reproduce it
there too debugging that message on an instance of the subclass.

It's not easy to explain with words, that's why I made a little
package of code to illustrate the situation.

The thing is that when printing the evaluation of a selected bunch of
code inside a debugger window (paragraphEditor?), if the code you're
evaluating is a message to super, and the class of the object you're
debugging is inheriting the method you're debugging, the printed
result will be wrong. In other words, the method lookup fails.

This doesn't happen with normal excution of code (thank God!).

I think this is an important bug, seeing those wrong results when
debugging can be very confusing. I spent hours feeling stupid last
Monday while debugging because I trusted those wrong results and
couldn't see where I was doing something wrong :P

Cheers!
Carla

On Wednesday, May 19, 2010, Mariano Martinez Peck <[email protected]> wrote:
> Hi Carla. I would like to help you, but I have no idea. I could reproduce it.
>
> Maybe Lukas, Igor, Eliot etc can help you. I have no idea.
>
> Cheers
>
> Mariano
>
> 2010/5/18 Carla F. Griggio <[email protected]>
> Hi everybody!
> Well, maybe you are already aware of this... maybe not. I tried to find an 
> issue about this and unless I didn't think of the right keywords, it's not 
> there.
>
>
>
> I was debugging a template method and sudenly I found myself spending ours 
> trying to find out why I got different results when printing the result of a 
> message sent to super and when steping into that message and printing the 
> (same) result there.
>
>
>
> Imagine this simple situation (I attatch the complete code and some tests so 
> you can reproduce this):
> AverageTotalization inherits from Totalization.WeightedAverageTotalization 
> inherits from AverageTotalization.
>
>
>
> Totalization>>total
>
>       ^self summatory
>
>
>
>
>
> AverageTotalization>>total
>
>         ^(super total) / self denominator
>
>
>
>
>
> AverageTotalization>> denominator
>
>         ^values size
>
>
>
>
> WeightedAverageTotalization>> denominator
>
> "Weights is a dictionary"
>
>       ^self weights values sum
>
>
>
>
> If I debug aWeightedAverateTotalization total  and try to print super total 
> in the debugger ParagraphEditor, I'll get this result:
>
>
>
> (self summatory / self denominator)
>
>
> instead of just:
> self summatory
> This only happens when I print or inspect or other do-its in the debugger 
> window. The method lookup works OK when just 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to