diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2020-08-26 22:41:57 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-08-27 10:34:08 +0000 |
commit | bf2425940977024b5739038722e23cfd9368eeda (patch) | |
tree | d7b4984d4f68e5423e6186b348508cf0fecca34e /src/lib/corelib | |
parent | 0f8e1f4e9dda9a200fc6972788025e38843b06ba (diff) |
Use std::unique_ptr to store ItemReader in ModuleLoader
Change-Id: Ib75718bc71f0039a50dd019ab2b9f66ec4b3bdef
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib')
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 13 | ||||
-rw-r--r-- | src/lib/corelib/language/moduleloader.h | 2 |
2 files changed, 6 insertions, 9 deletions
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<ItemReader>(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<ItemReader> m_reader; Evaluator *m_evaluator; QMap<QString, QStringList> m_moduleDirListCache; QHash<std::pair<QString, QualifiedId>, std::optional<QString>> m_existingModulePathCache; |