diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-05-08 15:48:17 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-06-10 10:15:40 +0000 |
commit | 23b8a3b2e83e46e9ca8b1e7e314fad7030b23ff4 (patch) | |
tree | bf30a066c35c2df4385ff3cd08a9b683e216269b /src/plugins/cpptools/cppmodelmanagersupport.h | |
parent | 264132da27ce9a11ca102ce7efaae13b9baaab6b (diff) | |
download | qt-creator-23b8a3b2e83e46e9ca8b1e7e314fad7030b23ff4.tar.gz |
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 <marco.bubke@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanagersupport.h')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanagersupport.h | 18 |
1 files changed, 15 insertions, 3 deletions
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 <QSharedPointer> #include <QString> namespace TextEditor { class TextDocument; } @@ -45,16 +46,27 @@ class CppCompletionAssistProvider; class CPPTOOLS_EXPORT ModelManagerSupport { public: - virtual ~ModelManagerSupport() = 0; + using Ptr = QSharedPointer<ModelManagerSupport>; - 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 |