On Aug 7, 2012, at 11:01 AM, Dmitri Gribenko <[email protected]> wrote:

> On Mon, Aug 6, 2012 at 11:04 PM, Douglas Gregor <[email protected]> wrote:
>> On Aug 6, 2012, at 4:22 PM, Dmitri Gribenko <[email protected]> wrote:
>>> Yes, I will add 'Other' for now, but at least 'Enum' should be added
>>> separately.  I think Protocols and categories can be handled as
>>> 'Class'es, properties -- as 'Variables'.  Of course, unless we want to
>>> store additional information for these.
>> 
>> Hrm, okay. We may need to separate out protocols later, because they are in 
>> a different namespace than (and, this this XML format, indistinguishable 
>> from) Objective-C classes.
> 
> OK.
> 
>>>> I assume that parameters (both template and function) will always be 
>>>> documented as part of their class/function/etc?
>>> 
>>> Yes, since \param and \tparam are in the same FullComment.
>> 
>> So, how does a client deal with this? Do they have to look at the cursor 
>> kind to decide whether to ask for a comment from elsewhere? Can we make it 
>> simpler?
> 
> I see two approaches to solve this particular one:
> 1. (manual) If the client also has a corresponding FunctionDecl,
> client can walk the children of root AST node and find parameter
> documentation.  No help with formatting, though.
> 
> 1. (transparent) Have ASTContext::getCommentForDecl walk up
> ParmVarDecl's DeclContext to find the FunctionDecl, then poke inside
> associated FullComment and create another FullComment with the found
> \param command as the child.  Creating a FullComment is required
> because currently we only attach FullComments to Decls.
> 
> 2. (not transparent) A separate API in libclang…

I'm liking the second #1 (transparently building a FullComment with just the 
parameter's documentation), actually.

>>>> I assume that "Function" elements need something for "throws" or 
>>>> "exceptions", but that's not at all important now.
>>> 
>>> Maybe we will pretty-print it as a part of declaration?  Added a TODO
>>> note for now.
>> 
>> It turns out that exceptions documented in Doxygen can have actual 
>> documentation paragraphs associated with them, so those won't be 
>> pretty-printed as part of the declaration.
> 
> Do you mean \throws or something else?  \throws should be easy to
> support in the same way as \param.

Yes, \throws (or \exception, or \throw). I expect it'll look like \param.

>> Thanks, patch LGTM!
> 
> Thank you for the review!  Committed r161431.

Thanks!

        - Doug
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to