使用ClangTool解析字符串

时间:2018-03-14 17:15:48

标签: clang

以下代码成功设置了一个用于解析的ClangTool:

std::vector<std::string> source_files;
cl::OptionCategory option_category("options");
CommonOptionsParser options_parser(argc, argv, option_category);
ClangTool tool(options_parser.getCompilations(), source_files);

但是,我自己创建了argc和argv - 它们不是来自main()。而不是输入文件,是否可以让ClangTool解析字符串的内容?如,

const char *str = "extern int foo;\n";

mapVirtualFile()看起来像我想要的,但是当我尝试时,foo并没有出来。

tool.mapVirtualFile(StringRef("faux_file.c"), StringRef(str));
// Then proceed to tool.run(...), etc.

我可以在/ tmp中创建一个临时文件,但我只想从字符串中读取。

更新

创建临时文件有效。它有点像hack-ish,但它稳定且一致。有一种从字符串输入的方式会很好,但现有的实现似乎不可能。

0 个答案:

没有答案
相关问题