遍历AST Tree的特定部分

时间:2016-08-01 08:03:57

标签: c++ clang llvm-clang libtooling

我已经转储了一个简单的C ++代码的AST树。 enter image description here

是否可以只访问所选节点并忽略其他所有节点,包括使用libTooling或ASTMatchers的子节点?

1 个答案:

答案 0 :(得分:1)

  • 查找任何stmt(或适合您的陈述的子类)
  • 根据您的示例添加他们hasParent的条件,可能是CompundStmt
  • 再次根据您的示例,您可能希望强制执行CompundStmt hasParent,这是FunctionDecl

有关详细信息,请参阅AST matchers reference