我正在为clang静态分析器创建自定义检查器,该检查器检查是否正确使用了CPython API。我已经取得了一些进展,但是我遇到了麻烦:给定类型名称,如何获得clang::QualType
值?
例如,我想写这样的东西:
QualType ty = findTheTypeNamed("Py_ssize_t");
我已经花了一些时间查看
clang::ASTContext
和clang::QualType
的代码,但我迷路了。如何从类型名称中获取
clang::QualType
? 最佳答案
asString
narrowing matcher将字符串转换为qualtype。
这是相关的文档:
Matches if the matched type is represented by the given string.
Given
class Y { public: void x(); };
void z() { Y* y; y->x(); }
cxxMemberCallExpr(on(hasType(asString("class Y *"))))
matches y->x()
关于c++ - 如何从字符串获取clang::QualType?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39585653/