diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2014-10-28 12:29:23 +0100 |
---|---|---|
committer | Fawzi Mohamed <fawzi.mohamed@theqtcompany.com> | 2014-11-07 10:27:17 +0100 |
commit | 33359a7922e8bb89f47f41a768350a084fc23bcb (patch) | |
tree | 6d261186bda577d7ee8f431fbc8eb0832196f4f6 /src/plugins/cpptools/cppmodelmanager.cpp | |
parent | bb4a58304d8ce04ea2d8c871b9a164cebbd462ba (diff) | |
download | qt-creator-33359a7922e8bb89f47f41a768350a084fc23bcb.tar.gz |
CppTools: Add API to set/query compiler call data
...and make some comparison functions public.
Change-Id: If4c9a95031dece32073ce111484a890230190688
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index a07bf91238..2fb94adea9 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -629,21 +629,9 @@ public: , m_newSourceFiles(newProjectInfo.sourceFiles()) {} - bool definesChanged() const - { - return m_new.defines() != m_old.defines(); - } - - bool configurationChanged() const - { - return definesChanged() - || m_new.headerPaths() != m_old.headerPaths(); - } - - bool nothingChanged() const - { - return !configurationChanged() && m_new.sourceFiles() == m_old.sourceFiles(); - } + bool definesChanged() const { return m_new.definesChanged(m_old); } + bool configurationChanged() const { return m_new.configurationChanged(m_old); } + bool configurationOrFilesChanged() const { return m_new.configurationOrFilesChanged(m_old); } QSet<QString> addedFiles() const { @@ -735,8 +723,12 @@ QFuture<void> CppModelManager::updateProjectInfo(const ProjectInfo &newProjectIn ProjectInfo oldProjectInfo = d->m_projectToProjectsInfo.value(project); if (oldProjectInfo.isValid()) { ProjectInfoComparer comparer(oldProjectInfo, newProjectInfo); - if (comparer.nothingChanged()) + + if (!comparer.configurationOrFilesChanged()) { + // Some other attached data might have changed + d->m_projectToProjectsInfo.insert(project, newProjectInfo); return QFuture<void>(); + } // If the project configuration changed, do a full reindexing if (comparer.configurationChanged()) { |