From 57f70d187706f572227b74c82c7446a3096f862f Mon Sep 17 00:00:00 2001 From: Adam Balogh Date: Mon, 9 Mar 2020 10:48:56 +0100 Subject: [PATCH] [Analyzer] Mark constant member functions const in CheckerManager Most of the getter functions (and a reporter function) in `CheckerManager` are constant but not marked as `const`. This prevents functions having only a constant reference to `CheckerManager` using these member functions. This patch fixes this issue. Differential Revision: https://reviews.llvm.org/D75839 --- clang/include/clang/StaticAnalyzer/Core/CheckerManager.h | 8 ++++---- clang/lib/StaticAnalyzer/Core/CheckerManager.cpp | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h b/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h index 246ff8f..4454d76 100644 --- a/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h +++ b/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h @@ -140,14 +140,14 @@ public: void finishedCheckerRegistration(); const LangOptions &getLangOpts() const { return LangOpts; } - AnalyzerOptions &getAnalyzerOptions() { return AOptions; } - ASTContext &getASTContext() { return Context; } + AnalyzerOptions &getAnalyzerOptions() const { return AOptions; } + ASTContext &getASTContext() const { return Context; } /// Emits an error through a DiagnosticsEngine about an invalid user supplied /// checker option value. void reportInvalidCheckerOptionValue(const CheckerBase *C, StringRef OptionName, - StringRef ExpectedValueDesc); + StringRef ExpectedValueDesc) const; using CheckerRef = CheckerBase *; using CheckerTag = const void *; @@ -620,7 +620,7 @@ private: /// Returns the checkers that have registered for callbacks of the /// given \p Kind. const std::vector & - getObjCMessageCheckers(ObjCMessageVisitKind Kind); + getObjCMessageCheckers(ObjCMessageVisitKind Kind) const; std::vector PreObjCMessageCheckers; std::vector PostObjCMessageCheckers; diff --git a/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp b/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp index a936183..ce5e4a4 100644 --- a/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp +++ b/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp @@ -61,7 +61,8 @@ void CheckerManager::finishedCheckerRegistration() { } void CheckerManager::reportInvalidCheckerOptionValue( - const CheckerBase *C, StringRef OptionName, StringRef ExpectedValueDesc) { + const CheckerBase *C, StringRef OptionName, + StringRef ExpectedValueDesc) const { Context.getDiagnostics() .Report(diag::err_analyzer_checker_option_invalid_input) @@ -249,7 +250,7 @@ void CheckerManager::runCheckersForObjCMessage(ObjCMessageVisitKind visitKind, } const std::vector & -CheckerManager::getObjCMessageCheckers(ObjCMessageVisitKind Kind) { +CheckerManager::getObjCMessageCheckers(ObjCMessageVisitKind Kind) const { switch (Kind) { case ObjCMessageVisitKind::Pre: return PreObjCMessageCheckers; -- 2.7.4