Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-12-19 00:03:49

0001 #ifndef Utilities_StaticAnalyzers_getParamDumper_h
0002 #define Utilities_StaticAnalyzers_getParamDumper_h
0003 #include <clang/StaticAnalyzer/Core/BugReporter/BugType.h>
0004 #include <clang/StaticAnalyzer/Core/Checker.h>
0005 #include <clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h>
0006 #include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
0007 
0008 namespace clangcms {
0009 
0010   class getParamDumper
0011       : public clang::ento::Checker<clang::ento::check::ASTDecl<clang::CXXRecordDecl>, clang::ento::eval::Call> {
0012     void analyzerEval(const clang::CallExpr *CE, clang::ento::CheckerContext &C) const;
0013 
0014     typedef void (getParamDumper::*FnCheck)(const clang::CallExpr *, clang::ento::CheckerContext &C) const;
0015 
0016   public:
0017     bool evalCall(const clang::ento::CallEvent &Call, clang::ento::CheckerContext &C) const;
0018 
0019     void checkASTDecl(const clang::CXXRecordDecl *CRD,
0020                       clang::ento::AnalysisManager &mgr,
0021                       clang::ento::BugReporter &BR) const;
0022   };
0023 
0024 }  // namespace clangcms
0025 #endif