On 10 Aug 2018, at 23:16, Tim Mackinnon <tim@testit.works> wrote:Actually I think I figured that bit out - a bit clumsily - (pointers appreciated)createMissingClassActionFor: aMessage in: aContext|errorNode senderContext newClass variableNode |senderContext := aContext sender.errorNode := senderContext method sourceNodeExecutedForPC: senderContext pc.variableNode := errorNode receiver receiver.newClass := OCUndeclaredVariableWarning new node: variableNode; defineClass: variableNode name.aContext restart.However that last line is wrong, as it doesn���t restart with my newly defined class - I also triedaContext restartWithNewReceiver: newClassBut again, I get a debugger where my class is still bound to nil. So what���s the trick to re-evaluate with the new class I���ve created? Or maybe I���m totally on the wrong track (still its very interesting���)
what is a bit bad is that you catch the problem ���too late��� (that is, the DNU to nil, not the read of nil), so nil is already pushed on the stack at this point.
I tried it in the inspector and at least the class binding was correct after defining the class��� do you have an image with the whole code to try?
Marcus