2009/9/7 Stéphane Ducasse <stephane.ducasse@inria.fr>:
good idea! We will add that in pharo if you open a bug item ticket. Stef
I could add it easily. But first we should make a good expertise, if this change is worth doing. Because for Object it means a trivial addition of a method, but for Debugger/Inspector and other tools this could mean a major refactoring and tracing all calls to printing methods in order to make sure that all of them using new message(s). This could be a big amount of work :)
On Sep 7, 2009, at 5:02 PM, Igor Stasenko wrote:
Hello guys, i'd like to discuss with you an idea of having a specific methods in Object class for a better and more clever behavior when debugging.
For those of you who are using different kinds of proxies, the main problem with them that you should override the #printOn: or #printString methods in order to behave them similar to what original(proxied) object should be, but from other side, especially for debugging purposes, this incurs a major inconvenience, because you often need to differentiate between the real object and object proxy while debugging. Because if proxy behaves similar to proxied object while printing, you can't really make a difference when looking at it.
So, i thought that a nice solution would be to extend an Object protocol especially for debugging purposes by adding #debugPrintOn: method and change the debugger to use this message, instead of #printOn: for displaying objects in inspector panels.
Here is the default implementation of
Object>>debugPrintOn: aStream  ^ self printOn: aStream
And, as you may guess, now the proxy could choose to behave differently depending on context.
P.S. Maybe i'm missing a point, and there are already the existing good practices how to get around this.. if so, then please tell me.
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.