From 7c21f2ec69af31bfa76ac0160877adf3f355b7e3 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 19 Aug 2014 15:53:15 +0200 Subject: [PATCH] CppTools: Denoise with BuiltinEditorDocumentParser::Ptr Change-Id: I1d572e8cc3e76ef6bbae720e3c3482292aab9609 Reviewed-by: Erik Verbruggen --- src/plugins/cppeditor/cppeditor.cpp | 4 ++-- .../cpptools/builtineditordocumentparser.h | 3 +++ src/plugins/cpptools/cppcompletionassist.cpp | 2 +- src/plugins/cpptools/cppsourceprocessor_test.cpp | 3 +-- src/plugins/cpptools/cpptoolseditorsupport.cpp | 16 +++++++--------- src/plugins/cpptools/cpptoolseditorsupport.h | 8 ++++---- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index f6e71d0253a..b1d4bdfb4da 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -1020,7 +1020,7 @@ void CppEditorWidget::onFilePathChanged() additionalDirectives = ProjectExplorer::SessionManager::value( projectFile + QLatin1Char(',') + filePath).toString().toUtf8(); - QSharedPointer parser + BuiltinEditorDocumentParser::Ptr parser = d->m_modelManager->cppEditorSupport(editor())->documentParser(); parser->setProjectPart(d->m_modelManager->projectPartForProjectFile(projectFile)); parser->setEditorDefines(additionalDirectives); @@ -1088,7 +1088,7 @@ void CppEditorWidget::showPreProcessorWidget() CppPreProcessorDialog preProcessorDialog(this, textDocument()->filePath(), projectParts); if (preProcessorDialog.exec() == QDialog::Accepted) { - QSharedPointer parser + BuiltinEditorDocumentParser::Ptr parser = d->m_modelManager->cppEditorSupport(editor())->documentParser(); const QString &additionals = preProcessorDialog.additionalPreProcessorDirectives(); parser->setProjectPart(preProcessorDialog.projectPart()); diff --git a/src/plugins/cpptools/builtineditordocumentparser.h b/src/plugins/cpptools/builtineditordocumentparser.h index 0e01c5f5eda..b52e6596db2 100644 --- a/src/plugins/cpptools/builtineditordocumentparser.h +++ b/src/plugins/cpptools/builtineditordocumentparser.h @@ -45,6 +45,9 @@ namespace CppTools { class CPPTOOLS_EXPORT BuiltinEditorDocumentParser : public BaseEditorDocumentParser { +public: + typedef QSharedPointer Ptr; + public: BuiltinEditorDocumentParser(const QString &filePath); diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp index 2ca9b0d956a..90fce585f8c 100644 --- a/src/plugins/cpptools/cppcompletionassist.cpp +++ b/src/plugins/cpptools/cppcompletionassist.cpp @@ -1959,7 +1959,7 @@ void CppCompletionAssistInterface::getCppSpecifics() const CppModelManagerInterface *modelManager = CppModelManagerInterface::instance(); if (CppEditorSupport *supp = modelManager->cppEditorSupport(m_editor)) { - if (QSharedPointer parser = supp->documentParser()) { + if (BuiltinEditorDocumentParser::Ptr parser = supp->documentParser()) { parser->update(m_workingCopy); m_snapshot = parser->snapshot(); m_headerPaths = parser->headerPaths(); diff --git a/src/plugins/cpptools/cppsourceprocessor_test.cpp b/src/plugins/cpptools/cppsourceprocessor_test.cpp index 0a3a09fe0a1..af59cd8334c 100644 --- a/src/plugins/cpptools/cppsourceprocessor_test.cpp +++ b/src/plugins/cpptools/cppsourceprocessor_test.cpp @@ -144,8 +144,7 @@ void CppToolsPlugin::test_cppsourceprocessor_includes_cyclic() CppEditorSupport *cppEditorSupport = CppModelManagerInterface::instance() ->cppEditorSupport(editor); QVERIFY(cppEditorSupport); - QSharedPointer documentParser - = cppEditorSupport->documentParser(); + BuiltinEditorDocumentParser::Ptr documentParser = cppEditorSupport->documentParser(); QVERIFY(documentParser); Snapshot snapshot = documentParser->snapshot(); QCOMPARE(snapshot.size(), 3); // Configuration file included diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp index 2342a5b695d..b3650711d97 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.cpp +++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp @@ -259,11 +259,11 @@ CppCompletionAssistProvider *CppEditorSupport::completionAssistProvider() const return m_completionAssistProvider; } -QSharedPointer CppEditorSupport::documentParser() +BuiltinEditorDocumentParser::Ptr CppEditorSupport::documentParser() { - QSharedPointer updater = documentParser_internal(); + BuiltinEditorDocumentParser::Ptr updater = documentParser_internal(); if (!updater || updater->filePath() != fileName()) { - updater = QSharedPointer(new BuiltinEditorDocumentParser(fileName())); + updater = BuiltinEditorDocumentParser::Ptr(new BuiltinEditorDocumentParser(fileName())); setDocumentParser_internal(updater); QSharedPointer cms = CppToolsPlugin::instance()->codeModelSettings(); @@ -282,7 +282,7 @@ void CppEditorSupport::updateDocument() m_updateDocumentTimer->start(m_updateDocumentInterval); } -static void parse(QFutureInterface &future, QSharedPointer updater, +static void parse(QFutureInterface &future, BuiltinEditorDocumentParser::Ptr updater, WorkingCopy workingCopy) { future.setProgressRange(0, 1); @@ -524,8 +524,7 @@ SemanticInfo CppEditorSupport::recalculateSemanticInfoNow(const SemanticInfo::So // Otherwise reprocess document } else { - const QSharedPointer documentParser - = documentParser_internal(); + const BuiltinEditorDocumentParser::Ptr documentParser = documentParser_internal(); QTC_ASSERT(documentParser, return newSemanticInfo); newSemanticInfo.snapshot = documentParser->snapshot(); if (!newSemanticInfo.snapshot.contains(source.fileName)) @@ -584,14 +583,13 @@ void CppEditorSupport::setSemanticInfo(const SemanticInfo &semanticInfo, bool em emit semanticInfoUpdated(semanticInfo); } -QSharedPointer CppEditorSupport::documentParser_internal() const +BuiltinEditorDocumentParser::Ptr CppEditorSupport::documentParser_internal() const { QMutexLocker locker(&m_documentParserLock); return m_documentParser; } -void CppEditorSupport::setDocumentParser_internal( - const QSharedPointer &updater) +void CppEditorSupport::setDocumentParser_internal(const BuiltinEditorDocumentParser::Ptr &updater) { QMutexLocker locker(&m_documentParserLock); m_documentParser = updater; diff --git a/src/plugins/cpptools/cpptoolseditorsupport.h b/src/plugins/cpptools/cpptoolseditorsupport.h index 1a5ce7b5d99..1b173f0b9c6 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.h +++ b/src/plugins/cpptools/cpptoolseditorsupport.h @@ -133,7 +133,7 @@ public: CppCompletionAssistProvider *completionAssistProvider() const; - QSharedPointer documentParser(); + BuiltinEditorDocumentParser::Ptr documentParser(); /// Checks whether the document is (re)parsed or about to be (re)parsed. bool isUpdatingDocument(); @@ -202,8 +202,8 @@ private: SemanticInfo semanticInfo() const; void setSemanticInfo(const SemanticInfo &semanticInfo, bool emitSignal = true); - QSharedPointer documentParser_internal() const; - void setDocumentParser_internal(const QSharedPointer &updater); + BuiltinEditorDocumentParser::Ptr documentParser_internal() const; + void setDocumentParser_internal(const BuiltinEditorDocumentParser::Ptr &updater); private: Internal::CppModelManager *m_modelManager; @@ -234,7 +234,7 @@ private: SemanticInfo m_lastSemanticInfo; QFuture m_futureSemanticInfo; mutable QMutex m_documentParserLock; - QSharedPointer m_documentParser; + BuiltinEditorDocumentParser::Ptr m_documentParser; QFuture m_documentParserFuture; // Highlighting: