VisitDecl vs. TraverseDecl(Clang RecursiveASTVisitor)

时间:2016-06-14 04:23:11

标签: c++ clang abstract-syntax-tree static-analysis llvm-clang

我已阅读此链接但仍未完全理解TraverseDecl与VisitDecl(及其用例)之间的区别http://clang.llvm.org/doxygen/classclang_1_1RecursiveASTVisitor.html

编写RecursiveASTVisitor时,我应该覆盖哪种方法?

1 个答案:

答案 0 :(得分:2)

TraverseDecl告诉前端库的ASTConsumer从AST递归访问声明。然后调用VisitDecl,您可以在其中提取相关信息。

请按照以下两个链接获取更多详细信息和一个简单的检查器示例:

http://clang.llvm.org/docs/RAVFrontendAction.html

How to traverse clang AST manually ?