gpt4 book ai didi

铿锵工具。键入名称不带关键字

转载 作者:行者123 更新时间:2023-12-04 16:10:38 24 4
gpt4 key购买 nike

我正在开发一些 clang 工具,我需要使用未明确指定的类型生成源代码。
我从 clang::QualType 得到的类型的字符串类似于:class std::initializer_list<int> .问题是在没有关键字的情况下获取类型。

我试过 dyn_cast<>类型 ( clang::Type ) 给 TypeWithKeyword 的所有继承人但结果始终为空。

当然,我可以从类型名称的字符串中删除所有出现的“class”、“struct”等,但我想以“clang方式”解决这个问题。

最佳答案

答案很简单。
而不是使用 QualType::getAsString() ,刚好需要QualType::getAsString (const PrintingPolicy &Policy) .
所以代码:

PrintingPolicy pp(f_context->getLangOpts());
string typeName = qualType.getAsString(pp);

无需更改 PrintingPolicy 的字段即可正常工作.

关于铿锵工具。键入名称不带关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42469688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com