This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch: implement new dynamic varobj spec


>>>>> "Nick" == Nick Roberts <nickrob@snap.net.nz> writes:

Tom> With a dynamic varobj you can tell if it has children by examining the
Tom> has_more attribute.

Nick> The field has_more tells you if it _currently_ has children.  If
Nick> you create a variable object of a STL container immediately after
Nick> declaring an empty container, e.g. after

Ok, yeah, I see what you mean.

Nick>   map<string, int> m;
Nick> then has_more=0 yet the node for it would need to be expandable.

I don't think I understand this, though.  There would be nothing
underneath the node.  So, showing some expansion control would be weird,
wouldn't it?

Nick> AFAICS the only way the front end can discriminate is through the
Nick> displayhint field.

I would like the display hint to remain just a hint.  In particular I
think it is important for future backward compatibility that we don't
require all front ends to know about all possible hints -- that is, it
should always be ok for the front end to ignore a hint it doesn't
understand.

So, if we need a way to determine "might possibly have children", then
let's add a new attribute.

Nick> On that note, printers.py in libstdc++ doesn't have a displayhint
Nick> function for StdListPrinter.

I'll look into this.  I'm not sure whether this was intentional or not.

Nick> Also there appears to be something wrong with the python class
Nick> StdVectorPrinter because if you create a variable object immediately after
Nick> declaring it, e.g. after

I'll look at this too, thanks.

Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]