Может ли addToCallGraph сделать все для меня, чтобы сгенерировать граф вызовов?
Я хочу сгенерировать граф вызовов для конкретной функции в файле.cpp. Я получаю функцию decl с помощью AST Matcher. Затем я передаю decl в функцию addToCallGraph;
clang::CallGraph CG;
CG.addToCallGraph(std::move(function_decl));
После этого я пытаюсь распечатать график звонков:
std::string str;
llvm::raw_string_ostream os(str);
CG.print(os);
std::cout<<os.str()<<std::endl;
Однако я обнаружил, что результат не полный. Например, отношение вызова A()->B(); B()->C() результат:
Function: < root > calls: A B
Function: A calls: B
Function: B calls:
Связь между B и C не показана.
Мои вопросы
1) Завершает ли addToCallGraph весь процесс генерации графа вызовов?
2) Как мы можем проверить все отношения между A,B и C?
Заранее спасибо!