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