【问题标题】:How to run a action after another in RecursiveASTVisitor?如何在 RecursiveASTVisitor 中运行一个又一个动作?
【发布时间】:2017-12-29 09:33:19
【问题描述】:

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

我希望Visitor首先访问所有ObjCPropertyDecl,并将Decl的名称存储在一个vector中,然后,访问所有CallExpr,如果一个名称存在于vector中但不存在于所有call expr中,则引发Diag错误。

那么我该怎么做呢?

【问题讨论】:

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


    【解决方案1】:

    我自己找到了一种方法。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多