6 #ifndef Utilities_StaticAnalyzers_CatchAll_h 7 #define Utilities_StaticAnalyzers_CatchAll_h 9 #include <clang/StaticAnalyzer/Core/Checker.h> 10 #include <clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h> 11 #include <clang/AST/StmtCXX.h> 14 class CatchAll :
public clang::ento::Checker<clang::ento::check::ASTCodeBody> {
16 void checkASTCodeBody(
const clang::Decl*
D, clang::ento::AnalysisManager&, clang::ento::BugReporter& BR)
const;
19 const clang::Stmt*
process(
const clang::Stmt*
S)
const;
20 inline bool checkCatchAll(
const clang::CXXCatchStmt*
S)
const {
return S->getCaughtType().isNull(); }
const clang::Stmt * process(const clang::Stmt *S) const
void checkASTCodeBody(const clang::Decl *D, clang::ento::AnalysisManager &, clang::ento::BugReporter &BR) const
DecomposeProduct< arg, typename Div::arg > D
bool checkCatchAll(const clang::CXXCatchStmt *S) const