File indexing completed on 2024-04-06 12:31:51
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 }
0025 #endif