作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
是否有任何简单可靠的方法(又名不是正则表达式)将函数指针声明的 QualType
获取为字符串但附加名称?我尝试研究利用 QualType::getAsString(const PrintingPolicy &Policy)
,但不幸的是,该配置没有选项。
例如
int (*)(void)
----> int (*whatever_name_here)(void)
最佳答案
您可以创建 VarDecl
并打印出来。
假设 ctx
是您的 ASTContext
type
是您的 QualType
,您可以执行以下操作:
// Create identifier.
IdentifierInfo id = ctx.Idents.get("whatever_name_here");
// Create variable declaration.
VarDecl *vd = VarDecl::Create(ctx, ctx.getTranslationUnitDecl(),
SourceLocation(), SourceLocation(), &id, type, nullptr, StorageClass:SC_None);
// Print it.
vd->print(/* put your llvm::raw_stream here */, ctx.getPrintingPolicy());
关于c++ - 可以使用 Clang AST 打印带有名称的函数指针的 QualType 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927815/
我正在为 clang 静态分析器开发一个自定义检查器,用于检查 CPython API 的不正确使用。我取得了一些进展,但我被卡住了:我怎样才能得到一个给定类型名称的 clang::QualType
是否有任何简单可靠的方法(又名不是正则表达式)将函数指针声明的 QualType 获取为字符串但附加名称?我尝试研究利用 QualType::getAsString(const PrintingPol
我是一名优秀的程序员,十分优秀!