Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:50

0001 #ifndef Utilities_StaticAnalyzers_FunctionChecker_h
0002 #define Utilities_StaticAnalyzers_FunctionChecker_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 
0007 #include "CmsException.h"
0008 #include "CmsSupport.h"
0009 
0010 namespace clangcms {
0011 
0012   class FunctionChecker : public clang::ento::Checker<clang::ento::check::ASTDecl<clang::CXXMethodDecl>,
0013                                                       clang::ento::check::ASTDecl<clang::FunctionDecl>,
0014                                                       clang::ento::check::ASTDecl<clang::FunctionTemplateDecl> > {
0015   public:
0016     void checkASTDecl(const clang::CXXMethodDecl *CMD,
0017                       clang::ento::AnalysisManager &mgr,
0018                       clang::ento::BugReporter &BR) const;
0019     void checkASTDecl(const clang::FunctionDecl *FD,
0020                       clang::ento::AnalysisManager &mgr,
0021                       clang::ento::BugReporter &BR) const;
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 }  // namespace clangcms
0031 #endif