标签: compiler-construction llvm clang libclang
我的代码访问libclang生成的AST,并在其中插入一些代码。我想获得新的AST,同时我想避免将代码写入文件,libclang中是否有任何API来执行此操作?
答案 0 :(得分:2)
您可以使用变通方法 - CXUnsavedFiles。只需将更改的文件放在内存中,将其添加到CXUnsavedFiles并传递给clang_reparseTranslationUnit。
您还可以查看Rewriter和其他非稳定的clang API。