We are using Clang as our compiler, and I’m implementing code completion and source code browsing, including:
- goto definition
- find all references to functions, variables, data types, and macros in project
- call graphs
- list of functions, types, macros, and variables in project and each source file
- list of included files in each source file
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.
I also found libclang, which seems to provide a lot of the basic functionality that I need as well.
My question is whether I should use libclang or the clangIndex and clangFrontend libraries?
Thanks for any help.