forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user