gpt4 book ai didi

c++ - 可以使用 Clang AST 打印带有名称的函数指针的 QualType 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:14 26 4
gpt4 key购买 nike

是否有任何简单可靠的方法(又名不是正则表达式)将函数指针声明的 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/

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