libclang:获取方法位置的集合

时间:2012-02-02 16:44:18

标签: parsing clang

我对clang解析C / C ++代码感兴趣,并且能够找到方法和函数。

是否可以使用clang来解析C ++源代码文件并获取类和方法的集合以及它们的位置?

1 个答案:

答案 0 :(得分:6)

你可以写一个clang插件,它会为你做这件事。

看看this article。它基本上描述了如何构建自己的插件并使用ASTConsumer遍历AST。就像它在文章中写的那样,从现有的插件示例PrintFunctionNames开始。为每个函数声明调用方法HandleTopLevelDecl(DeclGroupRef DG)。除了ND->getNameAsString()之外,您还可以在此方法中调用ND->getLocation()。另请查看API documentation以及这两个问题以获取更多信息:

How to get location of variable name in clang::VarDecl

Handle C++ functions with clang API to insert code