I don���t think so:
Put a halt here:
���ifTrue: [self halt.
aMessage sentTo: self]���
1.
Open a playground
2.
Do: Object new toto
You should have a debugger that pops. Don���t close it.
3.
Go in Nautilus, implement toto on Object
4.
Click on proceed in the debugger.
You should have a Halt instead. And if you click on proceed again, it should execute the toto method.
So it is used, and I frequently use it.
Cheers,
Vincent
De : Pharo-dev [mailto:pharo-dev-bounces@lists.pharo.org]
De la part de Denis Kudriashov
Envoy�� : jeudi 25 f��vrier 2016 18:06
�� : Discusses Development of Pharo
Objet : Re: [Pharo-dev] Recursion inside #doesNotUnderstand: method. Why?
Maybe in past it was used to create methods in debugger on the fly. But now it is not.
I just check it. I removed recursion logic and methods creation continue working in debugger. Maybe we should remove this strange behaviour
2016-02-25 17:56 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
Hi.
Does anybody know why #doesNotUnderstand: is implemented with recursion at the end?
doesNotUnderstand: aMessage
| exception resumeValue |
(exception := MessageNotUnderstood new)
message: aMessage;
receiver: self.
resumeValue := exception signal.
^exception reachedDefaultHandler
ifTrue: [aMessage sentTo: self]
ifFalse: [resumeValue].
Best regards,
Denis