diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index f6e71d0253ace7597b63b11ae8db8c0e4cf82e22..b1d4bdfb4daf30b9481853ef8156184920d3b940 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 0e01c5f5eda9727867c383ebdcee7fde2f55ccdd..b52e6596db2fba0c88be094fd8f214981fd1ed2a 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 2ca9b0d956ad87b6ceb56738dc4b5a8d8a42f4e1..90fce585f8cdcdefab6c8f76dd7f2062568add49 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 0a3a09fe0a17e84bfa90354cf3e93e963ec57859..af59cd8334c833d2de1dc662a650db83755eca7d 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 2342a5b695dc0a1ec8ae870f6eac1ddd60770136..b3650711d97f9258fbb8126ac256bc455e8003bb 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 1a5ce7b5d99ba79e2c11b0c6f15739a910225cf2..1b173f0b9c643012ce56c8a387783a23c439fef4 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: