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 <[email protected]> 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 <[email protected]> > 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." > > >
