aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2020-08-26 22:41:57 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2020-08-27 10:34:08 +0000
commitbf2425940977024b5739038722e23cfd9368eeda (patch)
treed7b4984d4f68e5423e6186b348508cf0fecca34e /src
parent0f8e1f4e9dda9a200fc6972788025e38843b06ba (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')
-rw-r--r--src/lib/corelib/language/moduleloader.cpp13
-rw-r--r--src/lib/corelib/language/moduleloader.h2
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 &parameters)
.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;