Clang 在重构工具中获取活动变量

Clang 在重构工具中获取活动变量,clang,libtooling,Clang,Libtooling,我正在用ClangLibTooling编写一个重构工具 我需要的是根据活变量信息重写源代码。 例如,对于函数中的每个基本块,转储其live out变量 我知道如果我在写一个分析检查器,那会很容易 void checkASTCodeBody(const Decl *D, AnalysisManager& mgr, BugReporter &BR) const { if (LiveVariables* L = mgr.getAnalysis&l

我正在用ClangLibTooling编写一个重构工具

我需要的是根据活变量信息重写源代码。 例如,对于函数中的每个基本块,转储其live out变量

我知道如果我在写一个分析检查器,那会很容易

void checkASTCodeBody(const Decl *D, AnalysisManager& mgr,
                    BugReporter &BR) const {
if (LiveVariables* L = mgr.getAnalysis<LiveVariables>(D)) {
  L->dumpBlockLiveness(mgr.getSourceManager());
}
}
void checkASTCodeBody(const Decl*D,analysis经理和经理,
BugReporter&BR)const{
if(LiveVariables*L=mgr.getAnalysis(D)){
L->dumpBlockLiveness(mgr.getSourceManager());
}
}
简单地调用mgr.getAnalysis(D)以获取此函数的LiveVariables。然后,卸载每个块

但是,我正在编写一个独立的重构工具。 如何构造AnalysisManager对象

非常感谢