gpt4 book ai didi

c++ - 从 clang 中的 FunctionDecl 类获取参数信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:44:56 24 4
gpt4 key购买 nike

如何从 clang 中的 FunctionDecl 类获取参数信息作为字符串。我正在尝试,但对这么多的继承感到困惑。他们的编译器还说 getReturnType() 不是 FunctionDecl 的成员,但 doxygen 文档另有说明。请帮忙。 http://clang.llvm.org/doxygen/classclang_1_1FunctionDecl.html

using namespace std;
using namespace clang;
using namespace clang::driver;
using namespace clang::tooling;
using namespace llvm;

.......
class ExampleVisitor : public RecursiveASTVisitor<ExampleVisitor>
{
......
virtual bool VisitFunctionDecl(FunctionDecl *func)
{
numFunctions++;
string funcName = func->getNameInfo().getName().getAsString();
string retName = func->getReturnType().getAsString();
...
return true;
}

}

错误:-

‘class clang::FunctionDecl’ has no member named ‘getReturnType’

最佳答案

根据您需要限定名称还是非限定名称,您可以按如下方式将返回类型和参数名称字符串化

std::string retType = F->getReturnType().getAsString();
std::string arg0;
if(F->getNumParams() > 0)
arg0 = F->parameters()[0]->getQualifiedNameAsString();

查看 getAsString()提供的方法。


编辑:根据您的评论,我发现您没有最新的 Clang 源代码。请在重试前检查一下。祝你好运!

关于c++ - 从 clang 中的 FunctionDecl 类获取参数信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24363678/

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