Python API - nested pretty printers MI implications
Daniel Jacobowitz
drow@false.org
Sun Aug 14 22:18:00 GMT 2011
On Sun, Aug 14, 2011 at 12:10 PM, Andrew Oakley
<andrew@ado.is-a-geek.net> wrote:
> I've got a patch to allow the Python pretty printer children iterators
> to return more pretty printers so they can create "phony groups" a bit
> like this:
Yay!
> As far as I can tell I need to create "fake" varobj structures with no
> underlying value or type (because I don't have one). This appears to
> already happen and is tested for with CPLUS_FAKE_CHILD, but I'm not
> quite sure what that is for. Does this seem like a reasonable thing to
> do (after searching around for CPLUS_FAKE_CHILD)?
It does seem like a reasonable idea, but watch out for
CPLUS_FAKE_CHILD; it may not be a good model. It's used right now for
public/protected/private groups, and no one seems to want it there -
it might go away at some point.
> My other worry is varobj invalidation and update. Am I correct in
> thinking that updates can only happen from a "root" varobj? If so it
> should be possible to reconstruct the "fake" varobj structures in
> varobj_update (I don't think it will be straightforward though).
My memory on this is a bit spotty. I think it may be possible to
update non-root varobjs, but it's the common case to update the root.
That might have been an out-of-tree patch though...
> Am I correct in assuming you would want MI to work before accepting
> patches?
Even if it's not a requirement, I strongly encourage it.
--
Thanks,
Daniel
More information about the Gdb
mailing list