In fact my test was broken an in addition the debugger does not show the top frame and it took me a while to see that I��should always scroll to be the stack.��And I was always only seeing this mustBeABoolean.��On Sat, May 13, 2017 at 9:17 PM, Tudor Girba <tudor@tudorgirba.com> wrote:Hi,
I am not quite sure where the issue is because I cannot seem to reproduce the problem.
I try this Playground script:
Object subclass: #ABC
�� �� �� �� instanceVariableNames: ''
�� �� �� �� classVariableNames: ''
�� �� �� �� package: 'ABC'.
ABC compile: 'doesNotUnderstand: aMessage
�� �� �� �� "support sending message to access properties"
�� �� �� �� | selector |
�� �� �� �� selector := aMessage selector.
�� �� �� �� self halt: aMessage selector.
�� �� �� �� ^ selector isUnary
�� �� �� �� �� �� �� �� ifTrue: [ (self hasPropertyAt: selector)
�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ifTrue: [ self propertyAt: aMessage selector asSymbol ]
�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ifFalse: [ super doesNotUnderstand: aMessage ] ]
�� �� �� �� �� �� �� �� ifFalse: [ selector numArgs = 1
�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ifTrue: [ self propertyAt: aMessage selector allButLast asSymbol put: aMessage argument ]
�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ifFalse: [ super doesNotUnderstand: aMessage ] ]'.
ABC new bla.
And I get a debugger. What am I missing?
Cheers,
Doru
--
> On May 13, 2017, at 6:05 PM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
>
> Hi
>
> In the past it was possible to step throw such code and now we cannot anymore
> because of a smart trick. I should say that I hate when we break the reachibility and understandibility of the system.
> So why I cannot get a debugger opens after the halt: ?
> How do I get that ?
>
> Now I will put traces: super cool!
>
> Stef
>
> doesNotUnderstand: aMessage
>�� �� �� ��"support sending message to access properties"
>
>�� �� �� ��| selector |
>�� �� �� ��selector := aMessage selector.
>�� �� �� ��self halt: aMessage selector.
>�� �� �� ��^ selector isUnary
>�� �� �� �� �� �� �� ��ifTrue: [ (self hasPropertyAt: selector)
>�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��ifTrue: [ self propertyAt: aMessage selector asSymbol ]
>�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��ifFalse: [ super doesNotUnderstand: aMessage ] ]
>�� �� �� �� �� �� �� ��ifFalse: [ selector numArgs = 1
>�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��ifTrue: [ self propertyAt: aMessage selector allButLast asSymbol put: aMessage argument ]
>�� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��ifFalse: [ super doesNotUnderstand: aMessage ] ]
www.tudorgirba.com
www.feenk.com
���Live like you mean it."