我想在我的clang静态分析器中添加一个新的clang checker。检查器可以获取调用方法的方法名称,类名和框架名称。
现在我只能使用api" getNameStart()"来获取方法的名称。 ,如何在调用方法时知道类名?我怎样才能获得框架名称?
期待您的回复...
---------------------------这是用于获取方法名称的API:
void DemoChecker::checkPreStmt(const CallExpr *CE, CheckerContext &C) const {
const ProgramStateRef state = C.getState();
const LocationContext *LC = C.getLocationContext();
const Expr *Callee = CE->getCallee();
const FunctionDecl *FD = state->getSVal(Callee, LC).getAsFunctionDecl();
if (!FD)
return;
std::cout << "***** FD->getNameAsString() *****>>" << FD->getNameAsString() << endl;