From 23b8a3b2e83e46e9ca8b1e7e314fad7030b23ff4 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Fri, 8 May 2015 15:48:17 +0200 Subject: Clang: Use completion through backend process This makes us independent of libclang crashes for completion. Re-parsing for highlighting still happens in the Qt Creator process. Run in verbose mode: qtc.clangcodemodel.ipc=true Run tests: -test "ClangCodeModel" Task-number: QTCREATORBUG-14108 Task-number: QTCREATORBUG-12819 Change-Id: Id3e95bd2afdb6508bbd1d35fddc69534a909b905 Reviewed-by: Marco Bubke --- src/plugins/cpptools/cppmodelmanagersupport.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/plugins/cpptools/cppmodelmanagersupport.h') diff --git a/src/plugins/cpptools/cppmodelmanagersupport.h b/src/plugins/cpptools/cppmodelmanagersupport.h index bea1ef58aa..fe592d664d 100644 --- a/src/plugins/cpptools/cppmodelmanagersupport.h +++ b/src/plugins/cpptools/cppmodelmanagersupport.h @@ -33,6 +33,7 @@ #include "cpptools_global.h" +#include #include namespace TextEditor { class TextDocument; } @@ -45,16 +46,27 @@ class CppCompletionAssistProvider; class CPPTOOLS_EXPORT ModelManagerSupport { public: - virtual ~ModelManagerSupport() = 0; + using Ptr = QSharedPointer; - virtual QString id() const = 0; - virtual QString displayName() const = 0; +public: + virtual ~ModelManagerSupport() = 0; virtual CppCompletionAssistProvider *completionAssistProvider() = 0; virtual BaseEditorDocumentProcessor *editorDocumentProcessor( TextEditor::TextDocument *baseTextDocument) = 0; }; +class CPPTOOLS_EXPORT ModelManagerSupportProvider +{ +public: + virtual ~ModelManagerSupportProvider() {} + + virtual QString id() const = 0; + virtual QString displayName() const = 0; + + virtual ModelManagerSupport::Ptr createModelManagerSupport() = 0; +}; + } // CppTools namespace #endif // CPPTOOLS_CPPMODELMANAGERSUPPORT_H -- cgit v1.2.1