我正在尝试使用RecursiveASTVisitor
一次处理多个文件的AST,并从buildASTs
的ClangTool
找到了此方法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,然后将结果合并在一起。