Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Ingham <jingham@apple.com>
To: Aleksandar Ristovski <ARistovski@qnx.com>
Cc: Vladimir Prus <ghost@cs.msu.su>,  gdb@sourceware.org
Subject: Re: MI varobj artificial fields
Date: Wed, 16 Apr 2008 19:16:00 -0000	[thread overview]
Message-ID: <31CE38D4-0B58-4ADA-8321-7AF5FA4347C6@apple.com> (raw)
In-Reply-To: <4806400B.7050905@qnx.com>


On Apr 16, 2008, at 11:06 AM, Aleksandar Ristovski wrote:
> Vladimir Prus wrote:
>> Right now, when you're in C++ program and ask for children of a  
>> varobj
>> that has structure type, you don't the the fields. Instead, you get
>> "public", "private" and "protected" as children.
>>
> Thank you for addressing this!
>
>> I don't think this makes very much sense. Presenting access  
>> specifies in
> UI
>> as items in the tree seems to just clutter things. Especially as in  
>> C++,
>> classes are either POD, with everything public, or real classes, with
> everything
>> private. Protected data is generally frowned upon. So, most often  
>> we'll
> have
>> a lonely "public" or "private" item having all the real item.
>>
>> Furthermore, even if class has a mixture of public, protected and  
>> private
> data,
>> do we expect the user to remember the visibility of the field he's  
>> after?
>
> I don't see a reason to treat them as "children", but I think the
> accessibility info. could be useful as a child's attribute (as someone
> suggested already). If nothing else, for clarity, one (an ide) might  
> choose
> to see/organize fields by accessibility (for whatever reason).

Yeah, I think this was just added so you get the organization for  
free.  Note that if you go switch to an attribute, the UI is going to  
have to reorder the variables to get all the private ones together,  
etc.  The varobj code now does that for you when it puts them into  
children.  But there's no guarantee they'll come that way from the  
debug info, and in fact they sometimes don't.

Note, BTW, I see lots of developers with classes that have public,  
protected & private data, so I'm not sure that whoever is "frowning"  
on various practices is having much success...

Jim


       reply	other threads:[~2008-04-16 18:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4806400B.7050905@qnx.com>
2008-04-16 19:16 ` Jim Ingham [this message]
2008-04-16 19:22   ` Daniel Jacobowitz
2008-04-16 19:34     ` Jim Ingham
2008-04-16 22:05       ` Pedro Alves
2008-04-18 10:22         ` André Pönitz
2008-04-16 16:27 Vladimir Prus
2008-04-16 18:06 ` Pedro Alves
2008-04-16 18:18 ` André Pönitz
2008-04-16 18:22   ` Marc Khouzam
2008-04-16 18:51     ` Jim Ingham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=31CE38D4-0B58-4ADA-8321-7AF5FA4347C6@apple.com \
    --to=jingham@apple.com \
    --cc=ARistovski@qnx.com \
    --cc=gdb@sourceware.org \
    --cc=ghost@cs.msu.su \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox