diff options
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp')
-rw-r--r-- | clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp b/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp index 3910847316a5..f457964fb132 100644 --- a/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp +++ b/clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp @@ -50,7 +50,11 @@ bool isCheckLikeMethod(llvm::SmallDenseSet<const CXXMethodDecl *> &CheckDecls, return CheckDecls.contains(&D); } -bool ChromiumCheckModel::transfer(const Stmt *Stmt, Environment &Env) { +bool ChromiumCheckModel::transfer(const CFGElement *Element, Environment &Env) { + auto CS = Element->getAs<CFGStmt>(); + if (!CS) + return false; + auto Stmt = CS->getStmt(); if (const auto *Call = dyn_cast<CallExpr>(Stmt)) { if (const auto *M = dyn_cast<CXXMethodDecl>(Call->getDirectCallee())) { if (isCheckLikeMethod(CheckDecls, *M)) { |