File indexing completed on 2024-04-06 12:31:50
0001 #ifndef Utilities_StaticAnalyzers_FunctionDumper_h
0002 #define Utilities_StaticAnalyzers_FunctionDumper_h
0003 #include <clang/StaticAnalyzer/Core/Checker.h>
0004 #include <clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h>
0005 #include <clang/StaticAnalyzer/Core/BugReporter/BugType.h>
0006 #include "CmsException.h"
0007
0008 namespace clangcms {
0009
0010 class FunctionDumper : public clang::ento::Checker<clang::ento::check::ASTDecl<clang::CXXMethodDecl>,
0011 clang::ento::check::ASTDecl<clang::FunctionDecl>,
0012 clang::ento::check::ASTDecl<clang::FunctionTemplateDecl> > {
0013 public:
0014 void checkASTDecl(const clang::CXXMethodDecl *CMD,
0015 clang::ento::AnalysisManager &mgr,
0016 clang::ento::BugReporter &BR) const;
0017
0018 void checkASTDecl(const clang::FunctionDecl *MD,
0019 clang::ento::AnalysisManager &mgr,
0020 clang::ento::BugReporter &BR) const;
0021
0022 void checkASTDecl(const clang::FunctionTemplateDecl *TD,
0023 clang::ento::AnalysisManager &mgr,
0024 clang::ento::BugReporter &BR) const;
0025
0026 private:
0027 CmsException m_exception;
0028 };
0029
0030 }
0031 #endif