From 4ece68a0a8d2f788761b898f8142534a456d7dd5 Mon Sep 17 00:00:00 2001 From: George Karpenkov Date: Mon, 6 Aug 2018 23:09:07 +0000 Subject: [analyzer] Add ASTContext to CheckerManager Some checkers require ASTContext. Having it in the constructor saves a lot of boilerplate of having to pass it around. Differential Revision: https://reviews.llvm.org/D50111 llvm-svn: 339079 --- clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp | 9 ++++----- clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp | 6 +++--- 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'clang/lib/StaticAnalyzer/Frontend') diff --git a/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp b/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp index 44abde5da6d..20b5223929d 100644 --- a/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp +++ b/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp @@ -295,13 +295,12 @@ public: void Initialize(ASTContext &Context) override { Ctx = &Context; - checkerMgr = - createCheckerManager(*Opts, PP.getLangOpts(), Plugins, - CheckerRegistrationFns, PP.getDiagnostics()); + checkerMgr = createCheckerManager( + *Ctx, *Opts, Plugins, CheckerRegistrationFns, PP.getDiagnostics()); Mgr = llvm::make_unique( - *Ctx, PP.getDiagnostics(), PP.getLangOpts(), PathConsumers, - CreateStoreMgr, CreateConstraintMgr, checkerMgr.get(), *Opts, Injector); + *Ctx, PP.getDiagnostics(), PathConsumers, CreateStoreMgr, + CreateConstraintMgr, checkerMgr.get(), *Opts, Injector); } /// Store the top level decls in the set to be processed later on. diff --git a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp index a260c2d85b1..76e66cc0230 100644 --- a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp +++ b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp @@ -112,12 +112,12 @@ getCheckerOptList(const AnalyzerOptions &opts) { } std::unique_ptr ento::createCheckerManager( - AnalyzerOptions &opts, const LangOptions &langOpts, + ASTContext &context, + AnalyzerOptions &opts, ArrayRef plugins, ArrayRef> checkerRegistrationFns, DiagnosticsEngine &diags) { - std::unique_ptr checkerMgr( - new CheckerManager(langOpts, opts)); + auto checkerMgr = llvm::make_unique(context, opts); SmallVector checkerOpts = getCheckerOptList(opts); -- cgit v1.2.3