CMS 3D CMS Logo

MutableMemberChecker.h
Go to the documentation of this file.
1 //== MutableMemberChecker.h - Checks for mutable members --------------*- C++ -*--==//
2 //
3 // by Thomas Hauth [ Thomas.Hauth@cern.ch ]
4 //
5 //===----------------------------------------------------------------------===//
6 
7 #ifndef Utilities_StaticAnalyzers_MutableMemberChecker_h
8 #define Utilities_StaticAnalyzers_MutableMemberChecker_h
9 
10 #include <clang/StaticAnalyzer/Core/Checker.h>
11 #include <clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h>
12 #include <clang/StaticAnalyzer/Core/BugReporter/BugType.h>
14 #include "CmsException.h"
15 #include "CmsSupport.h"
16 
17 namespace clangcms {
18 class MutableMemberChecker : public clang::ento::Checker< clang::ento::check::ASTDecl< clang::FieldDecl> > {
19  CMS_THREAD_SAFE mutable std::unique_ptr< clang::ento::BuiltinBug> BT;
20 
21 public:
22  void checkASTDecl(const clang::FieldDecl *D,
23  clang::ento::AnalysisManager &Mgr,
24  clang::ento::BugReporter &BR) const;
25 private:
27 };
28 }
29 
30 #endif
std::unique_ptr< clang::ento::BuiltinBug > BT
#define CMS_THREAD_SAFE
DecomposeProduct< arg, typename Div::arg > D
Definition: Factorize.h:151
void checkASTDecl(const clang::FieldDecl *D, clang::ento::AnalysisManager &Mgr, clang::ento::BugReporter &BR) const