1
我已經實現了一個使用Clang的AST訪問器。 有了這段代碼,我可以檢索函數調用名稱correclty。獲取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)
我該如何解決這個問題? 謝謝!
想使用getReturnType(),雖然在文檔中我可以看到,這個方法在類FunctionDecl類的編譯器給了我這個 存在錯誤:「類鏗鏘:: FunctionDecl」沒有名爲成員「getReturnType」 –
你是對的!雖然自從使用llvm/clang 3.4以來,getReturnType()不存在,但存在getResultType()。它的功能相同。 –