如何在RecursiveASTVisitor中执行一个又一个的操作?

时间:2017-12-29 09:33:19

标签: clang abstract-syntax-tree clang++

我写了一个clang插件,现在有三个类TestConsumer,TestAction,TestVisitor。 在TestVisitor中,我在VisitObjCPropertyDecl和VisitCallExpr中执行了操作。

我希望访问者首先访问所有ObjCPropertyDecl,并将Decl的名称存储在向量中,然后访问所有CallExpr,如果名称存在于向量中但不存在于所有调用expr中,则引发Diag错误。

那我怎么做呢?

1 个答案:

答案 0 :(得分:0)

我自己找到了一种方法。

在TestAction中,有virtual bool EndSourceFileAction() {}方法,覆盖它。或者只是在~TestVisitor() {}中进行最终操作。