Alessio Stalla writes:
I have added to our inspector the ability to look into Java classes, showing the values of fields and allowing them to be further inspected.
Cool!
NB: since the field values are read when the object is first inspected, and then translated to Lisp objects,
Is the translation cached?
the inspector will NOT reflect the current state of the object should it be altered (e.g. by another thread, or interactively by the user while inspecting). This is important especially wrt. inner objects: if A contains B and later C, inspecting A at a certain time will show me B, and inspecting B will, unsurprisingly, show me B, not C - even if A contains C now. I don't know if our inspector behaves like this for other objects too or not, but I don't see any (easy) way to change this fact.
If the translation is not cached, reinspection of A results in correctly showing C, right?
At least in the Slime Inspector, objects are reinspected on navigating back from an inner object. I.e. in your example above: you'd start with A, would go down to B, and when going back to A, A is reinspected and hence will now show C instead of B.
-T.