Hey Marcus (or those knowledgable about stacks and contexts) - to self #1 - where the create button generates a class instead of a method, I’m a bit out of my depth.
I can see there is a DoesNotUnderstandDebugAction (which the create button calls). So to determine if the failure was due to a missing class or method - would this work? msg := self interruptedContext tempAt: 1. (msg lookupClass == UndefinedObject ) ifTrue: [ … create a class E.g. if you’re trying to send a msg to nil (which is what got patched into the compiled method for a missing class) then you are dealing with a missing class? AND then for create a class - how do I extract the name? I can get the compiled method for msg - but how do I marry that up with what you were executing? Am I write in thinking that the AST nodes and there locations might line up with the stack pointer somehow (or something like that)… if I can get that - then I get the name of the missing class and can then create it and then rerun the method right? This is very neat stuff I ‘ve never played with before. Tim > On 9 Aug 2018, at 11:02, Marcus Denker <marcus.den...@inria.fr> wrote: > > > >> On 9 Aug 2018, at 10:59, Guillermo Polito <guillermopol...@gmail.com >> <mailto:guillermopol...@gmail.com>> wrote: >> >> Hi Marcus, >> >> Is it wise to backport things that may break things like this? > maybe not, but it just took 5 minutes as it is very simple > >> I'd prefer to put the energy on backporting the workaround to avoid the >> infinite debuggers... >> > > Yes. > >> On Thu, Aug 9, 2018 at 10:50 AM Marcus Denker <marcus.den...@inria.fr >> <mailto:marcus.den...@inria.fr>> wrote: >>> >>>> 2) when coding - if you want reference a missing class, why don’t we let >>>> you? TonelReader seems to do it, why can’t the editor? (This probably >>>> applies to variables as well - show them broken, let me fix it when I >>>> choose. The iVar case is a little rarer - although I hate the way we >>>> prompt fix, prompt fix instead of doing it in one go - it’s very old >>>> fashioned) >>>> >>> >>> This is fixed in Pharo7: we added a menu entry “leave undeclared” as the >>> first option: >>> <leave undeclared.png> >>>> Does anyone have tips on solving these? It spoils the exercism experience >>>> that I thought we could convey, so I’d like to at least fix #1 in 6.1 if I >>>> can. >>>> >>> >>> I will back port the fix for 2) to Pharo6 and will do a quick prototype for >>> 1) >>> >> >> https://pharo.fogbugz.com/f/cases/22305/Backport-to-Pharo6-Leave-Variable-Undeclared >> >> <https://pharo.fogbugz.com/f/cases/22305/Backport-to-Pharo6-Leave-Variable-Undeclared> >> >> Marcus >> >> >> >> -- >> >> Guille Polito >> Research Engineer >> >> Centre de Recherche en Informatique, Signal et Automatique de Lille >> CRIStAL - UMR 9189 >> French National Center for Scientific Research - http://www.cnrs.fr >> <http://www.cnrs.fr/> >> >> Web: http://guillep.github.io <http://guillep.github.io/> >> Phone: +33 06 52 70 66 13 >