From 8abad3c971925789ddb34b2d6596739b06c466e6 Mon Sep 17 00:00:00 2001 From: Kristof Umann Date: Sat, 26 Jan 2019 21:41:50 +0000 Subject: [analyzer] Add CheckerManager::getChecker, make sure that a registry function registers no more than 1 checker This patch effectively fixes the almost decade old checker naming issue. The solution is to assert when CheckerManager::getChecker is called on an unregistered checker, and assert when CheckerManager::registerChecker is called on a checker that is already registered. Differential Revision: https://reviews.llvm.org/D55429 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@352292 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp') diff --git a/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp b/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp index 3520b12933..5cec012258 100644 --- a/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp @@ -317,8 +317,7 @@ bool ento::shouldRegisterNSOrCFErrorDerefChecker(const LangOptions &LO) { void ento::registerNSErrorChecker(CheckerManager &mgr) { mgr.registerChecker(); - NSOrCFErrorDerefChecker *checker = - mgr.registerChecker(); + NSOrCFErrorDerefChecker *checker = mgr.getChecker(); checker->ShouldCheckNSError = true; } @@ -328,8 +327,7 @@ bool ento::shouldRegisterNSErrorChecker(const LangOptions &LO) { void ento::registerCFErrorChecker(CheckerManager &mgr) { mgr.registerChecker(); - NSOrCFErrorDerefChecker *checker = - mgr.registerChecker(); + NSOrCFErrorDerefChecker *checker = mgr.getChecker(); checker->ShouldCheckCFError = true; } -- cgit v1.2.1