我正在尝试使用RecursiveASTVisitor一次处理多个文件的AST,并从buildASTsClangTool找到了此方法Create an AST for each file specified in the command line and append them to ASTs

但是,我找不到使用示例或指南。

任何人都具有结合多个来源的AST的经验吗?

我现在要做的是这个

ClangTool Tool(OptionsParser.getCompilations(), OptionsParser.getSourcePathList());
std::vector<std::unique_ptr<clang::ASTUnit>> AST;
Tool.buildASTs(AST);


但我不知道如何从这里进行分析。

最佳答案

如果需要组合AST,则可以使用clang :: ASTImporter将AST的一部分合并到另一部分中。

但是,最常见的策略是独立分析每个AST,然后将结果合并在一起。

10-04 13:00