【发布时间】:2016-10-21 03:53:18
【问题描述】:
我已经使用 Clang 实现了一个 AST 访问者。 通过这段代码,我可以正确检索函数调用名称。
virtual bool VisitFunctionDecl(FunctionDecl *func)
{
numFunctions++;
string funcName = func->getNameInfo().getName().getAsString();
string funcType = func->getType().getAsString();
APIs << funcType << endl;
APIs << "\n" << funcName <<": ";
return true;
}
我还想提取函数声明类型。例如 int my_func(int a, int b){..} 我想提取int类型。它的实现方式返回给我除名称之外的整个函数声明。上面 funcType 中的一段代码会返回 int (int a, int b)
我该如何解决这个问题? 谢谢!
【问题讨论】:
标签: c++ clang abstract-syntax-tree llvm-clang libclang