diff options
Diffstat (limited to 'lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp')
-rw-r--r-- | lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp b/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp index a1037b9713..1b6c528c2f 100644 --- a/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp +++ b/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp @@ -16,6 +16,7 @@ #include "BasicObjCFoundationChecks.h" #include "ClangSACheckers.h" +#include "clang/StaticAnalyzer/Core/CheckerManager.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" #include "clang/StaticAnalyzer/Core/PathSensitive/CheckerVisitor.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" @@ -487,18 +488,34 @@ void ClassReleaseChecker::preVisitObjCMessage(CheckerContext &C, // Check registration. //===----------------------------------------------------------------------===// -void ento::registerNilArgChecker(ExprEngine& Eng) { +static void RegisterNilArgChecker(ExprEngine& Eng) { Eng.registerCheck(new NilArgChecker()); } -void ento::registerCFNumberCreateChecker(ExprEngine& Eng) { +void ento::registerNilArgChecker(CheckerManager &mgr) { + mgr.addCheckerRegisterFunction(RegisterNilArgChecker); +} + +static void RegisterCFNumberCreateChecker(ExprEngine& Eng) { Eng.registerCheck(new CFNumberCreateChecker()); } -void ento::registerCFRetainReleaseChecker(ExprEngine& Eng) { +void ento::registerCFNumberCreateChecker(CheckerManager &mgr) { + mgr.addCheckerRegisterFunction(RegisterCFNumberCreateChecker); +} + +static void RegisterCFRetainReleaseChecker(ExprEngine& Eng) { Eng.registerCheck(new CFRetainReleaseChecker()); } -void ento::registerClassReleaseChecker(ExprEngine& Eng) { +void ento::registerCFRetainReleaseChecker(CheckerManager &mgr) { + mgr.addCheckerRegisterFunction(RegisterCFRetainReleaseChecker); +} + +static void RegisterClassReleaseChecker(ExprEngine& Eng) { Eng.registerCheck(new ClassReleaseChecker()); } + +void ento::registerClassReleaseChecker(CheckerManager &mgr) { + mgr.addCheckerRegisterFunction(RegisterClassReleaseChecker); +} |