diff options
Diffstat (limited to 'lib/StaticAnalyzer/Core/CheckerContext.cpp')
-rw-r--r-- | lib/StaticAnalyzer/Core/CheckerContext.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/StaticAnalyzer/Core/CheckerContext.cpp b/lib/StaticAnalyzer/Core/CheckerContext.cpp index 75cb82a67c..5552a991d1 100644 --- a/lib/StaticAnalyzer/Core/CheckerContext.cpp +++ b/lib/StaticAnalyzer/Core/CheckerContext.cpp @@ -16,12 +16,15 @@ using namespace clang; using namespace ento; -StringRef CheckerContext::getCalleeName(const CallExpr *CE) const { +const FunctionDecl *CheckerContext::getCalleeDecl(const CallExpr *CE) const { const ProgramState *State = getState(); const Expr *Callee = CE->getCallee(); SVal L = State->getSVal(Callee); + return L.getAsFunctionDecl(); +} - const FunctionDecl *funDecl = L.getAsFunctionDecl(); +StringRef CheckerContext::getCalleeName(const CallExpr *CE) const { + const FunctionDecl *funDecl = getCalleeDecl(CE); if (!funDecl) return StringRef(); IdentifierInfo *funI = funDecl->getIdentifier(); |