From bf2425940977024b5739038722e23cfd9368eeda Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Wed, 26 Aug 2020 22:41:57 +0200 Subject: Use std::unique_ptr to store ItemReader in ModuleLoader Change-Id: Ib75718bc71f0039a50dd019ab2b9f66ec4b3bdef Reviewed-by: Christian Kandeler --- src/lib/corelib/language/moduleloader.cpp | 13 +++++-------- src/lib/corelib/language/moduleloader.h | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) (limited to 'src/lib/corelib') diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index 894ca32fd..c00fae6a0 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -250,15 +250,12 @@ ModuleLoader::ModuleLoader(Evaluator *evaluator, Logger &logger) : m_pool(nullptr) , m_logger(logger) , m_progressObserver(nullptr) - , m_reader(new ItemReader(logger)) + , m_reader(std::make_unique(logger)) , m_evaluator(evaluator) { } -ModuleLoader::~ModuleLoader() -{ - delete m_reader; -} +ModuleLoader::~ModuleLoader() = default; void ModuleLoader::setProgressObserver(ProgressObserver *progressObserver) { @@ -352,7 +349,7 @@ ModuleLoaderResult ModuleLoader::load(const SetupProjectParameters ¶meters) .value(StringConstants::qbsSearchPathsProperty()).toStringList(); Item *root; { - SearchPathsManager searchPathsManager(m_reader, topLevelSearchPaths); + SearchPathsManager searchPathsManager(m_reader.get(), topLevelSearchPaths); root = loadItemFromFile(parameters.projectFilePath(), CodeLocation()); if (!root) return ModuleLoaderResult(); @@ -1340,7 +1337,7 @@ void ModuleLoader::setupProductDependencies(ProductContext *productContext, if (m_dependencyResolvingPass == 1) setSearchPathsForProduct(productContext); - SearchPathsManager searchPathsManager(m_reader, productContext->searchPaths); + SearchPathsManager searchPathsManager(m_reader.get(), productContext->searchPaths); DependsContext dependsContext; dependsContext.product = productContext; @@ -1425,7 +1422,7 @@ void ModuleLoader::handleProduct(ModuleLoader::ProductContext *productContext) Item * const item = productContext->item; m_reader->setExtraSearchPathsStack(productContext->project->searchPathsStack); - SearchPathsManager searchPathsManager(m_reader, productContext->searchPaths); + SearchPathsManager searchPathsManager(m_reader.get(), productContext->searchPaths); addTransitiveDependencies(productContext); // It is important that dependent modules are merged after their dependency, because diff --git a/src/lib/corelib/language/moduleloader.h b/src/lib/corelib/language/moduleloader.h index 2f6abb834..f831e8fe1 100644 --- a/src/lib/corelib/language/moduleloader.h +++ b/src/lib/corelib/language/moduleloader.h @@ -412,7 +412,7 @@ private: ItemPool *m_pool; Logger &m_logger; ProgressObserver *m_progressObserver; - ItemReader *m_reader; + const std::unique_ptr m_reader; Evaluator *m_evaluator; QMap m_moduleDirListCache; QHash, std::optional> m_existingModulePathCache; -- cgit v1.2.3