Hi Richard, Thanks for the reply, I add my comments between your lines.
On Tue, Aug 25, 2020 at 4:29 PM Richard Uttner <richard.utt...@gmail.com> wrote: > sorry for my contribution to this topic being so late. I fully agree to > Martin's suggestion of checking if an inspected object conforms to the > rich inspector api before applying it. > > For dealing with Glorp, I found an easy solution which Pavel will > integrate soon in the Glorp port he published some time ago. Where is this port? I haven't seen it and it would be great if we could merge it with the canonical repository at pharo-rdbms/glorp which has been active lately (I even have a few bugfixes to submit) > My approach > to find the trigger(s) resolving the proxy was simply hooking > #doesNotUnderstand: with a Transcript trace of the current message. So I > found out that it were only 3, which I list below along with my > implementation in Proxy that stopped any resolving: Simple and clever. > gtDisplayString > self isInstantiated > ifTrue: [ ^self class name , ' on ', value gtDisplayString]. > ^self class name, ' uninstantiated on ', self query resultClass name I had this. > gtInspectorVariableNodesIn: aCollection > readSlot: aSlot I hadn't these. I'll add them as an extension to the Proxy class. > With this approach, I was not able to trigger proxy resolution by just > navigating in the inspector, I had to explicitely send #getValue to the > slot. Hope this helps until we have a more general solution! This is exactly what I needed. Thank you very much!