<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 25, 2011, at 12:53 AM, Jared Low wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><font size="2" face="sans-serif">We are using Clang as our compiler, and
I'm implementing code completion and source code browsing, including:</font>
<ul>
<li><font size="2" face="sans-serif">goto definition</font>
</li><li><font size="2" face="sans-serif">find all references to functions, variables,
data types, and macros in project</font>
</li><li><font size="2" face="sans-serif">call graphs</font>
</li><li><font size="2" face="sans-serif">list of functions, types, macros, and
variables in project and each source file</font>
</li><li><font size="2" face="sans-serif">list of included files in each source
file</font></li></ul>
<br><font size="2" face="sans-serif">I'm new to Clang, but in looking at
the libraries, it seems I could use the clangIndex library for the source
code browsing and the clangFrontend library for the code completion. The
clangIndex library already has things that I need like the declReferenceMap
and the callGraph.</font>
<br>
<br><font size="2" face="sans-serif">I also found libclang, which seems to
provide a lot of the basic functionality that I need as well.</font>
<br>
<br><font size="2" face="sans-serif">My question is whether I should use
libclang or the clangIndex and clangFrontend libraries?</font>
<br></blockquote></div><br><div>Please use libclang, which is designed for this kind of IDE integration. If it doesn't provide a feature that you want, let's work on extending libclang with that functionality.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>- Doug</div></body></html>