summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-07-07 15:17:58 +0200
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-07-10 14:04:01 +0000
commit91c497b1aebaf4b24ac1e5b884940820c6a0a88c (patch)
tree93b31416fcb560450e64a9295443c701f93ae50d /src
parenta32a9b3d2a82d38edde1b4b55cbdececd7f5333d (diff)
downloadqt-creator-91c497b1aebaf4b24ac1e5b884940820c6a0a88c.tar.gz
CppTools: Make updateProjectPart() const
...and rename to "determineProjectPart". This is in preparation for a follow-up change. determineProjectPart() should not set any state. Change-Id: Iad7be8638fd97a79a4227a944896ac9af0a36862 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/clangcodemodel/clangeditordocumentparser.cpp2
-rw-r--r--src/plugins/cpptools/baseeditordocumentparser.cpp26
-rw-r--r--src/plugins/cpptools/baseeditordocumentparser.h4
-rw-r--r--src/plugins/cpptools/builtineditordocumentparser.cpp2
4 files changed, 18 insertions, 16 deletions
diff --git a/src/plugins/clangcodemodel/clangeditordocumentparser.cpp b/src/plugins/clangcodemodel/clangeditordocumentparser.cpp
index e12833ca9a..9b342bd7d1 100644
--- a/src/plugins/clangcodemodel/clangeditordocumentparser.cpp
+++ b/src/plugins/clangcodemodel/clangeditordocumentparser.cpp
@@ -94,7 +94,7 @@ void ClangEditorDocumentParser::update(CppTools::WorkingCopy workingCopy)
QMutexLocker lock(m_marker->mutex());
QMutexLocker lock2(&m_mutex);
- updateProjectPart();
+ m_projectPart = determineProjectPart();
const QStringList options = createOptions(filePath(), projectPart(), true);
qCDebug(log, "Reparse options (cmd line equivalent): %s",
diff --git a/src/plugins/cpptools/baseeditordocumentparser.cpp b/src/plugins/cpptools/baseeditordocumentparser.cpp
index 7f1e74785b..d24e341b1f 100644
--- a/src/plugins/cpptools/baseeditordocumentparser.cpp
+++ b/src/plugins/cpptools/baseeditordocumentparser.cpp
@@ -45,7 +45,7 @@ namespace CppTools {
the "best" project part for a file.
Derived classes are expected to implement update() by using the protected
- mutex, updateProjectPart() and by respecting the options set by the client.
+ mutex, determineProjectPart() and by respecting the options set by the client.
*/
BaseEditorDocumentParser::BaseEditorDocumentParser(const QString &filePath)
@@ -115,33 +115,35 @@ BaseEditorDocumentParser *BaseEditorDocumentParser::get(const QString &filePath)
return 0;
}
-void BaseEditorDocumentParser::updateProjectPart()
+ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart() const
{
- if (m_manuallySetProjectPart) {
- m_projectPart = m_manuallySetProjectPart;
- return;
- }
+ if (m_manuallySetProjectPart)
+ return m_manuallySetProjectPart;
+
+ ProjectPart::Ptr projectPart = m_projectPart;
CppModelManager *cmm = CppModelManager::instance();
QList<ProjectPart::Ptr> projectParts = cmm->projectPart(m_filePath);
if (projectParts.isEmpty()) {
- if (m_projectPart)
+ if (projectPart)
// File is not directly part of any project, but we got one before. We will re-use it,
// because re-calculating this can be expensive when the dependency table is big.
- return;
+ return projectPart;
// Fall-back step 1: Get some parts through the dependency table:
projectParts = cmm->projectPartFromDependencies(Utils::FileName::fromString(m_filePath));
if (projectParts.isEmpty())
// Fall-back step 2: Use fall-back part from the model manager:
- m_projectPart = cmm->fallbackProjectPart();
+ projectPart = cmm->fallbackProjectPart();
else
- m_projectPart = projectParts.first();
+ projectPart = projectParts.first();
} else {
- if (!projectParts.contains(m_projectPart))
+ if (!projectParts.contains(projectPart))
// Apparently the project file changed, so update our project part.
- m_projectPart = projectParts.first();
+ projectPart = projectParts.first();
}
+
+ return projectPart;
}
bool BaseEditorDocumentParser::editorDefinesChanged() const
diff --git a/src/plugins/cpptools/baseeditordocumentparser.h b/src/plugins/cpptools/baseeditordocumentparser.h
index ddd12fbb0a..c8f5704a9d 100644
--- a/src/plugins/cpptools/baseeditordocumentparser.h
+++ b/src/plugins/cpptools/baseeditordocumentparser.h
@@ -63,18 +63,18 @@ public:
static BaseEditorDocumentParser *get(const QString &filePath);
protected:
- void updateProjectPart();
+ ProjectPart::Ptr determineProjectPart() const;
bool editorDefinesChanged() const;
void resetEditorDefinesChanged();
protected:
mutable QMutex m_mutex;
+ ProjectPart::Ptr m_projectPart;
private:
const QString m_filePath;
- ProjectPart::Ptr m_projectPart;
ProjectPart::Ptr m_manuallySetProjectPart;
bool m_usePrecompiledHeaders;
diff --git a/src/plugins/cpptools/builtineditordocumentparser.cpp b/src/plugins/cpptools/builtineditordocumentparser.cpp
index 24ae027bfc..8c2232f142 100644
--- a/src/plugins/cpptools/builtineditordocumentparser.cpp
+++ b/src/plugins/cpptools/builtineditordocumentparser.cpp
@@ -62,7 +62,7 @@ void BuiltinEditorDocumentParser::update(WorkingCopy workingCopy)
QString projectConfigFile;
LanguageFeatures features = LanguageFeatures::defaultFeatures();
- updateProjectPart();
+ m_projectPart = determineProjectPart();
if (m_forceSnapshotInvalidation) {
invalidateSnapshot = true;