diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp index 7c7823a3d82..e7ded2e40b5 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp +++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp @@ -160,6 +160,11 @@ CppTools::BaseEditorDocumentParser *ClangEditorDocumentProcessor::parser() return &m_parser; } +CPlusPlus::Snapshot ClangEditorDocumentProcessor::snapshot() +{ + return m_builtinProcessor.snapshot(); +} + bool ClangEditorDocumentProcessor::isParserRunning() const { return m_parserWatcher.isRunning(); diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.h b/src/plugins/clangcodemodel/clangeditordocumentprocessor.h index 0ceed0b10f4..7d24ffd9fd2 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.h +++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.h @@ -37,7 +37,6 @@ #include #include - #include namespace ClangCodeModel { @@ -55,6 +54,7 @@ public: void semanticRehighlight(bool force) Q_DECL_OVERRIDE; CppTools::SemanticInfo recalculateSemanticInfo() Q_DECL_OVERRIDE; CppTools::BaseEditorDocumentParser *parser() Q_DECL_OVERRIDE; + CPlusPlus::Snapshot snapshot() Q_DECL_OVERRIDE; bool isParserRunning() const Q_DECL_OVERRIDE; private slots: diff --git a/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp b/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp index d95680c6c55..9a3811cc2da 100644 --- a/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp +++ b/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp @@ -35,7 +35,7 @@ #include #include -#include +#include #include #include #include @@ -1365,8 +1365,8 @@ void CppCodeModelInspectorDialog::refresh() if (editor) { const QString editorFilePath = editor->document()->filePath(); editorDocument = cmmi->editorDocument(editorFilePath); - if (auto *builtinDocumentParser = BuiltinEditorDocumentParser::get(editorFilePath)) { - const CPlusPlus::Snapshot editorSnapshot = builtinDocumentParser->snapshot(); + if (auto *documentProcessor = BaseEditorDocumentProcessor::get(editorFilePath)) { + const CPlusPlus::Snapshot editorSnapshot = documentProcessor->snapshot(); m_snapshotInfos->append(SnapshotInfo(editorSnapshot, SnapshotInfo::EditorSnapshot)); const QString editorSnapshotTitle = QString::fromLatin1("Current Editor's Snapshot (%1 Documents)") diff --git a/src/plugins/cppeditor/cppincludehierarchymodel.cpp b/src/plugins/cppeditor/cppincludehierarchymodel.cpp index ce0149aaa5e..8481c8cb0b2 100644 --- a/src/plugins/cppeditor/cppincludehierarchymodel.cpp +++ b/src/plugins/cppeditor/cppincludehierarchymodel.cpp @@ -33,7 +33,7 @@ #include "cppincludehierarchyitem.h" #include -#include +#include #include #include #include @@ -184,9 +184,9 @@ void CppIncludeHierarchyModel::fetchMore(const QModelIndex &parent) } if (item == m_includesItem) { - auto *parser = BuiltinEditorDocumentParser::get(editorFilePath); - QTC_ASSERT(parser, return); - const Snapshot editorDocumentSnapshot = parser->snapshot(); + auto *processor = BaseEditorDocumentProcessor::get(editorFilePath); + QTC_ASSERT(processor, return); + const Snapshot editorDocumentSnapshot = processor->snapshot(); buildHierarchyIncludes_helper(parentItem->filePath(), parentItem, editorDocumentSnapshot, &cyclic); } else { @@ -286,11 +286,11 @@ void CppIncludeHierarchyModel::buildHierarchyIncludes(const QString ¤tFile return; const QString editorFilePath = m_editor->document()->filePath(); - auto *parser = BuiltinEditorDocumentParser::get(editorFilePath); - QTC_ASSERT(parser, return); - const Snapshot snapshot = parser->snapshot(); + auto *documentProcessor = BaseEditorDocumentProcessor::get(editorFilePath); + QTC_ASSERT(documentProcessor, return); + const Snapshot editorDocumentSnapshot = documentProcessor->snapshot(); QSet cyclic; - buildHierarchyIncludes_helper(currentFilePath, m_includesItem, snapshot, &cyclic); + buildHierarchyIncludes_helper(currentFilePath, m_includesItem, editorDocumentSnapshot, &cyclic); } void CppIncludeHierarchyModel::buildHierarchyIncludes_helper(const QString &filePath, diff --git a/src/plugins/cpptools/baseeditordocumentprocessor.h b/src/plugins/cpptools/baseeditordocumentprocessor.h index f507176cb74..866508eaab8 100644 --- a/src/plugins/cpptools/baseeditordocumentprocessor.h +++ b/src/plugins/cpptools/baseeditordocumentprocessor.h @@ -59,6 +59,7 @@ public: virtual void run() = 0; virtual void semanticRehighlight(bool force) = 0; virtual CppTools::SemanticInfo recalculateSemanticInfo() = 0; + virtual CPlusPlus::Snapshot snapshot() = 0; virtual BaseEditorDocumentParser *parser() = 0; virtual bool isParserRunning() const = 0; diff --git a/src/plugins/cpptools/builtineditordocumentprocessor.cpp b/src/plugins/cpptools/builtineditordocumentprocessor.cpp index 3a3ee3eebb6..758c7083dbd 100644 --- a/src/plugins/cpptools/builtineditordocumentprocessor.cpp +++ b/src/plugins/cpptools/builtineditordocumentprocessor.cpp @@ -174,6 +174,11 @@ BaseEditorDocumentParser *BuiltinEditorDocumentProcessor::parser() return &m_parser; } +CPlusPlus::Snapshot BuiltinEditorDocumentProcessor::snapshot() +{ + return m_parser.snapshot(); +} + void BuiltinEditorDocumentProcessor::semanticRehighlight(bool force) { const auto source = createSemanticInfoSource(force); diff --git a/src/plugins/cpptools/builtineditordocumentprocessor.h b/src/plugins/cpptools/builtineditordocumentprocessor.h index a0901181200..69f6148322b 100644 --- a/src/plugins/cpptools/builtineditordocumentprocessor.h +++ b/src/plugins/cpptools/builtineditordocumentprocessor.h @@ -37,7 +37,6 @@ #include "cpptools_global.h" #include "semantichighlighter.h" - namespace CppTools { class CPPTOOLS_EXPORT BuiltinEditorDocumentProcessor : public BaseEditorDocumentProcessor @@ -55,6 +54,7 @@ public: void semanticRehighlight(bool force) Q_DECL_OVERRIDE; CppTools::SemanticInfo recalculateSemanticInfo() Q_DECL_OVERRIDE; BaseEditorDocumentParser *parser() Q_DECL_OVERRIDE; + CPlusPlus::Snapshot snapshot() Q_DECL_OVERRIDE; bool isParserRunning() const Q_DECL_OVERRIDE; private: diff --git a/src/plugins/cpptools/cppsourceprocessor_test.cpp b/src/plugins/cpptools/cppsourceprocessor_test.cpp index 4d18d729a3b..70a98bed2c2 100644 --- a/src/plugins/cpptools/cppsourceprocessor_test.cpp +++ b/src/plugins/cpptools/cppsourceprocessor_test.cpp @@ -30,7 +30,7 @@ #include "cpptoolsplugin.h" -#include "builtineditordocumentparser.h" +#include "baseeditordocumentprocessor.h" #include "cppmodelmanager.h" #include "cppsourceprocessertesthelper.h" #include "cppsourceprocessor.h" @@ -143,9 +143,9 @@ void CppToolsPlugin::test_cppsourceprocessor_includes_cyclic() // Check editor snapshot const QString filePath = editor->document()->filePath(); - auto *parser = BuiltinEditorDocumentParser::get(filePath); - QVERIFY(parser); - Snapshot snapshot = parser->snapshot(); + auto *processor = BaseEditorDocumentProcessor::get(filePath); + QVERIFY(processor); + Snapshot snapshot = processor->snapshot(); QCOMPARE(snapshot.size(), 3); // Configuration file included // Check includes