Very high level remark:<div>I guess the reason we don't try to associate declarations with comments in general in the AST and do the parsing of doxygen completely lazily (and perhaps by code that doesn't need to be part of the AST libraries at all) is the multi-declaration-spanning comment stuff?</div>
<div><br></div><div>I'm just a little sad that this is not more orthogonal, but probably there's no easy way out.</div><div><br></div><div>Cheers,</div><div>/Manuel<br><br><div class="gmail_quote">On Fri, Jun 8, 2012 at 10:46 PM, Dmitri Gribenko <span dir="ltr"><<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I'm working on getting clang parse Doxygen comments and expose them in<br>
AST, via libclang APIs etc.<br>
<br>
The first step is to save comments during parsing.  Most of this work<br>
was already done by Doug Gregor, [1] but it was reverted because it<br>
was not used. [2]  I modified this patch so that it applies to ToT.<br>
<br>
The patch exposes raw comment text via libclang so that the feature<br>
can be tested with c-index-test.<br>
<br>
Other modifications include:<br>
* Introduced LangOpt.ParseComments.  As we don't want to regress on<br>
parsing time or increase memory footprint during normal compilation,<br>
comments are only saved when this option is enabled.  I made this<br>
option a LANGOPT, but maybe it should be a BENIGN_LANGOPT?<br>
<br>
* Reworked AST serialization/deserialization because approach to that<br>
has changed since [1] was written.<br>
<br>
* Renamed Preprocessor::{Add,Remove}CommentHandler to match coding standards.<br>
<br>
* Added lots of tests.<br>
<br>
[1] <a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090629/018718.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090629/018718.html</a><br>
[2] <a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20100315/028560.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20100315/028560.html</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if<br>
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>>*/<br>
</font></span><br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>