c++ - VisitDecl 与 TraverseDecl(Clang RecursiveASTVisitor)

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

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

在编写我的 RecursiveASTVisitor 时我应该覆盖哪个方法?

最佳答案

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

点击这两个链接以获取更多详细信息和一个简单的检查器示例:

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

How to traverse clang AST manually ?

关于c++ - VisitDecl 与 TraverseDecl(Clang RecursiveASTVisitor),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802947/

相关文章:

c++ - C++ 迭代器是否应该在传递最后一项后递减?

c++ - 在 eclipse、Red Hat Linux 中运行 c++ 项目时出现问题

c++ - weak_import 生成链接器错误

java - 使用 JDT 解析工作区时出现错误 "Workspace is closed"

c++ - 来自 boost::spirit::x3 AST 的生成器?

c++ - 如何使用 C/C++ 检索可移动存储盘符

c++ - 更高类型的别名模板

c++ - std::function、std::bind 和 std::ref 的 Clang 错误?

c++ - 不同 C++ 编译器之间自动类型推导不匹配

c++ - ClangAST Consumer : How to traverse statements, VarDecl,FunctionDecl 中的 BinaryOperator?