From 9abfd732045d8309590cbe896b8d79849d862333 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 15 Dec 2015 12:32:01 +0100 Subject: [PATCH] CppTools/Clang: Remove InMemoryInfo ...nowadays we only need the working copy. Change-Id: I30924b3c5dc68b428d6c10f6ba015b0640b476d2 Reviewed-by: Marco Bubke --- .../clangcodemodel/clangeditordocumentparser.cpp | 2 +- .../clangcodemodel/clangeditordocumentparser.h | 2 +- .../clangcodemodel/clangeditordocumentprocessor.cpp | 5 ++--- src/plugins/cpptools/baseeditordocumentparser.cpp | 12 ++---------- src/plugins/cpptools/baseeditordocumentparser.h | 10 ++-------- src/plugins/cpptools/baseeditordocumentprocessor.cpp | 4 ++-- src/plugins/cpptools/baseeditordocumentprocessor.h | 2 +- src/plugins/cpptools/builtineditordocumentparser.cpp | 4 ++-- src/plugins/cpptools/builtineditordocumentparser.h | 2 +- .../cpptools/builtineditordocumentprocessor.cpp | 2 +- src/plugins/cpptools/builtinindexingsupport.cpp | 2 +- src/plugins/cpptools/cppcompletionassist.cpp | 2 +- src/plugins/cpptools/cppmodelmanager_test.cpp | 4 ++-- src/plugins/cpptools/cpptoolsreuse.cpp | 7 ------- src/plugins/cpptools/cpptoolsreuse.h | 4 ---- 15 files changed, 19 insertions(+), 45 deletions(-) diff --git a/src/plugins/clangcodemodel/clangeditordocumentparser.cpp b/src/plugins/clangcodemodel/clangeditordocumentparser.cpp index 4b2daaa7374..ba8e3d719d9 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentparser.cpp +++ b/src/plugins/clangcodemodel/clangeditordocumentparser.cpp @@ -40,7 +40,7 @@ ClangEditorDocumentParser::ClangEditorDocumentParser(const QString &filePath) setConfiguration(config); } -void ClangEditorDocumentParser::updateHelper(const BaseEditorDocumentParser::InMemoryInfo &) +void ClangEditorDocumentParser::updateHelper(const CppTools::WorkingCopy &) { State state_ = state(); state_.projectPart = determineProjectPart(filePath(), configuration(), state_); diff --git a/src/plugins/clangcodemodel/clangeditordocumentparser.h b/src/plugins/clangcodemodel/clangeditordocumentparser.h index 7dc54732f32..fc69e06b996 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentparser.h +++ b/src/plugins/clangcodemodel/clangeditordocumentparser.h @@ -43,7 +43,7 @@ public: ClangEditorDocumentParser(const QString &filePath); private: - void updateHelper(const BaseEditorDocumentParser::InMemoryInfo &) override; + void updateHelper(const CppTools::WorkingCopy &) override; }; } // namespace ClangCodeModel diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp index f7c7eecf3e6..cf823377172 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp +++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp @@ -104,9 +104,8 @@ void ClangEditorDocumentProcessor::run() m_parserRevision = revision(); connect(&m_parserWatcher, &QFutureWatcher::finished, this, &ClangEditorDocumentProcessor::onParserFinished); - const QFuture future = QtConcurrent::run(&runParser, - parser(), - ClangEditorDocumentParser::InMemoryInfo(true)); + const CppTools::WorkingCopy workingCopy = CppTools::CppModelManager::instance()->workingCopy(); + const QFuture future = QtConcurrent::run(&runParser, parser(), workingCopy); m_parserWatcher.setFuture(future); // Run builtin processor diff --git a/src/plugins/cpptools/baseeditordocumentparser.cpp b/src/plugins/cpptools/baseeditordocumentparser.cpp index c4e27df2a07..9d1d4800db0 100644 --- a/src/plugins/cpptools/baseeditordocumentparser.cpp +++ b/src/plugins/cpptools/baseeditordocumentparser.cpp @@ -32,7 +32,6 @@ #include "baseeditordocumentprocessor.h" #include "cppmodelmanager.h" -#include "cpptoolsreuse.h" #include "editordocumenthandle.h" namespace CppTools { @@ -82,10 +81,10 @@ void BaseEditorDocumentParser::setConfiguration(const Configuration &configurati m_configuration = configuration; } -void BaseEditorDocumentParser::update(const InMemoryInfo &info) +void BaseEditorDocumentParser::update(const WorkingCopy &workingCopy) { QMutexLocker locker(&m_updateIsRunning); - updateHelper(info); + updateHelper(workingCopy); } BaseEditorDocumentParser::State BaseEditorDocumentParser::state() const @@ -148,11 +147,4 @@ ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(const QString &f return projectPart; } -BaseEditorDocumentParser::InMemoryInfo::InMemoryInfo(bool withModifiedFiles) - : workingCopy(CppTools::CppModelManager::instance()->workingCopy()) -{ - if (withModifiedFiles) - modifiedFiles = CppTools::modifiedFiles(); -} - } // namespace CppTools diff --git a/src/plugins/cpptools/baseeditordocumentparser.h b/src/plugins/cpptools/baseeditordocumentparser.h index 4d0c74f4f2f..4afa9743462 100644 --- a/src/plugins/cpptools/baseeditordocumentparser.h +++ b/src/plugins/cpptools/baseeditordocumentparser.h @@ -63,13 +63,7 @@ public: Configuration configuration() const; void setConfiguration(const Configuration &configuration); - struct CPPTOOLS_EXPORT InMemoryInfo { - InMemoryInfo(bool withModifiedFiles); - - WorkingCopy workingCopy; - Utils::FileNameList modifiedFiles; - }; - void update(const InMemoryInfo &info); + void update(const WorkingCopy &workingCopy); ProjectPart::Ptr projectPart() const; @@ -88,7 +82,7 @@ protected: mutable QMutex m_stateAndConfigurationMutex; private: - virtual void updateHelper(const InMemoryInfo &inMemoryInfo) = 0; + virtual void updateHelper(const WorkingCopy &workingCopy) = 0; const QString m_filePath; Configuration m_configuration; diff --git a/src/plugins/cpptools/baseeditordocumentprocessor.cpp b/src/plugins/cpptools/baseeditordocumentprocessor.cpp index 72173c1181e..462f8137fd7 100644 --- a/src/plugins/cpptools/baseeditordocumentprocessor.cpp +++ b/src/plugins/cpptools/baseeditordocumentprocessor.cpp @@ -76,7 +76,7 @@ BaseEditorDocumentProcessor *BaseEditorDocumentProcessor::get(const QString &fil void BaseEditorDocumentProcessor::runParser(QFutureInterface &future, BaseEditorDocumentParser::Ptr parser, - BaseEditorDocumentParser::InMemoryInfo info) + const WorkingCopy workingCopy) { future.setProgressRange(0, 1); if (future.isCanceled()) { @@ -84,7 +84,7 @@ void BaseEditorDocumentProcessor::runParser(QFutureInterface &future, return; } - parser->update(info); + parser->update(workingCopy); CppModelManager::instance() ->finishedRefreshingSourceFiles(QSet() << parser->filePath()); diff --git a/src/plugins/cpptools/baseeditordocumentprocessor.h b/src/plugins/cpptools/baseeditordocumentprocessor.h index e66aed23e00..9dffaa297e7 100644 --- a/src/plugins/cpptools/baseeditordocumentprocessor.h +++ b/src/plugins/cpptools/baseeditordocumentprocessor.h @@ -89,7 +89,7 @@ signals: protected: static void runParser(QFutureInterface &future, BaseEditorDocumentParser::Ptr parser, - BaseEditorDocumentParser::InMemoryInfo info); + const CppTools::WorkingCopy workingCopy); // Convenience QString filePath() const { return m_baseTextDocument->filePath().toString(); } diff --git a/src/plugins/cpptools/builtineditordocumentparser.cpp b/src/plugins/cpptools/builtineditordocumentparser.cpp index 164745d4cf2..8d02d7c01f0 100644 --- a/src/plugins/cpptools/builtineditordocumentparser.cpp +++ b/src/plugins/cpptools/builtineditordocumentparser.cpp @@ -60,7 +60,7 @@ BuiltinEditorDocumentParser::BuiltinEditorDocumentParser(const QString &filePath qRegisterMetaType("CPlusPlus::Snapshot"); } -void BuiltinEditorDocumentParser::updateHelper(const InMemoryInfo &info) +void BuiltinEditorDocumentParser::updateHelper(const WorkingCopy &theWorkingCopy) { if (filePath().isEmpty()) return; @@ -70,7 +70,7 @@ void BuiltinEditorDocumentParser::updateHelper(const InMemoryInfo &info) State baseState = state(); ExtraState state = extraState(); - WorkingCopy workingCopy = info.workingCopy; + WorkingCopy workingCopy = theWorkingCopy; bool invalidateSnapshot = false, invalidateConfig = false, editorDefinesChanged_ = false; diff --git a/src/plugins/cpptools/builtineditordocumentparser.h b/src/plugins/cpptools/builtineditordocumentparser.h index 8c7c9400eae..93f3c2bad6c 100644 --- a/src/plugins/cpptools/builtineditordocumentparser.h +++ b/src/plugins/cpptools/builtineditordocumentparser.h @@ -64,7 +64,7 @@ public: static Ptr get(const QString &filePath); private: - void updateHelper(const InMemoryInfo &info) override; + void updateHelper(const WorkingCopy &workingCopy) override; void addFileAndDependencies(CPlusPlus::Snapshot *snapshot, QSet *toRemove, const Utils::FileName &fileName) const; diff --git a/src/plugins/cpptools/builtineditordocumentprocessor.cpp b/src/plugins/cpptools/builtineditordocumentprocessor.cpp index 0a9a23a1164..826b7b24a2c 100644 --- a/src/plugins/cpptools/builtineditordocumentprocessor.cpp +++ b/src/plugins/cpptools/builtineditordocumentprocessor.cpp @@ -210,7 +210,7 @@ void BuiltinEditorDocumentProcessor::run() { m_parserFuture = QtConcurrent::run(&runParser, parser(), - BuiltinEditorDocumentParser::InMemoryInfo(false)); + CppModelManager::instance()->workingCopy()); } BaseEditorDocumentParser::Ptr BuiltinEditorDocumentProcessor::parser() diff --git a/src/plugins/cpptools/builtinindexingsupport.cpp b/src/plugins/cpptools/builtinindexingsupport.cpp index 4620166f16c..a5713b6da85 100644 --- a/src/plugins/cpptools/builtinindexingsupport.cpp +++ b/src/plugins/cpptools/builtinindexingsupport.cpp @@ -160,7 +160,7 @@ void indexFindErrors(QFutureInterface &future, const ParseParams params) // Parse the file as precisely as possible BuiltinEditorDocumentParser parser(file); parser.setReleaseSourceAndAST(false); - parser.update(BuiltinEditorDocumentParser::InMemoryInfo(false)); + parser.update(CppModelManager::instance()->workingCopy()); CPlusPlus::Document::Ptr document = parser.document(); QTC_ASSERT(document, return); diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp index eec2f2e5fe0..21f9f8f4fdb 100644 --- a/src/plugins/cpptools/cppcompletionassist.cpp +++ b/src/plugins/cpptools/cppcompletionassist.cpp @@ -2188,7 +2188,7 @@ void CppCompletionAssistInterface::getCppSpecifics() const m_gotCppSpecifics = true; if (m_parser) { - m_parser->update(BuiltinEditorDocumentParser::InMemoryInfo(false)); + m_parser->update(CppTools::CppModelManager::instance()->workingCopy()); m_snapshot = m_parser->snapshot(); m_headerPaths = m_parser->headerPaths(); } diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp index a3c1954a7b9..acbfb0ba907 100644 --- a/src/plugins/cpptools/cppmodelmanager_test.cpp +++ b/src/plugins/cpptools/cppmodelmanager_test.cpp @@ -917,7 +917,7 @@ void CppToolsPlugin::test_modelmanager_precompiled_headers() BaseEditorDocumentParser::Configuration config = parser->configuration(); config.usePrecompiledHeaders = true; parser->setConfiguration(config); - parser->update(BuiltinEditorDocumentParser::InMemoryInfo(false)); + parser->update(CppModelManager::instance()->workingCopy()); // Check if defines from pch are considered Document::Ptr document = mm->document(fileName); @@ -1000,7 +1000,7 @@ void CppToolsPlugin::test_modelmanager_defines_per_editor() BaseEditorDocumentParser::Configuration config = parser->configuration(); config.editorDefines = editorDefines.toUtf8(); parser->setConfiguration(config); - parser->update(BuiltinEditorDocumentParser::InMemoryInfo(false)); + parser->update(CppModelManager::instance()->workingCopy()); Document::Ptr doc = mm->document(main1File); QCOMPARE(nameOfFirstDeclaration(doc), firstDeclarationName); diff --git a/src/plugins/cpptools/cpptoolsreuse.cpp b/src/plugins/cpptools/cpptoolsreuse.cpp index db9bbb07c1c..78ffb6f8a53 100644 --- a/src/plugins/cpptools/cpptoolsreuse.cpp +++ b/src/plugins/cpptools/cpptoolsreuse.cpp @@ -289,11 +289,4 @@ bool skipFileDueToSizeLimit(const QFileInfo &fileInfo, int limitInMB) return false; } -Utils::FileNameList modifiedFiles() -{ - Utils::FileNameList files = Utils::transform(Core::DocumentManager::modifiedDocuments(), - [](Core::IDocument *d) -> Utils::FileName { return d->filePath(); }); - return Utils::filteredUnique(files); -} - } // CppTools diff --git a/src/plugins/cpptools/cpptoolsreuse.h b/src/plugins/cpptools/cpptoolsreuse.h index 1272c49794e..62d0df71ccf 100644 --- a/src/plugins/cpptools/cpptoolsreuse.h +++ b/src/plugins/cpptools/cpptoolsreuse.h @@ -37,8 +37,6 @@ #include -#include - QT_BEGIN_NAMESPACE class QChar; class QFileInfo; @@ -54,8 +52,6 @@ class LookupContext; namespace CppTools { -Utils::FileNameList CPPTOOLS_EXPORT modifiedFiles(); - void CPPTOOLS_EXPORT moveCursorToEndOfIdentifier(QTextCursor *tc); void CPPTOOLS_EXPORT moveCursorToStartOfIdentifier(QTextCursor *tc);