Ășt 25. 8. 2020 v 21:52 odesĂlatel Esteban Maringolo <emaring...@gmail.com> napsal:
> 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) > It is here: https://github.com/pavel-krivanek/glorp/tree/8.3.1-23-baseline In a lot of ways, it is different to the master version so transition for users may cause some troubles and there are still some failing tests. It is not safe to promote it as master for everyone but we are using it without any trouble. > > 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! > >