假设我要分析这样的一段代码:
struct Foo
{
void(*setParam)(const char* name, int value);
};
我使用clang LibTooling并在setParam
上获取FieldDecl
。
我发现可以这样获取参数类型:
auto ft = fieldDecl->getFunctionType()->getAs<FunctionProtoType>();
for (size_t i = 0; i < fpt->getNumParams(); i++)
{
QualType paramType = fpt->getParamType(i);
....
}
但是我该如何获取参数名称?(在这种情况下为“name”和“value”)这是否可能或者我需要手动查看源代码(使用
SourceManager
)?