diff options
author | David Schulz <david.schulz@qt.io> | 2021-09-15 07:04:12 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2021-09-16 08:25:36 +0000 |
commit | 4324f3e8c1ddb4250ba2e73bd9cb4bd00d49f595 (patch) | |
tree | 1d9d21862c369f0d7b0acf45233a8444614e8fb9 | |
parent | 897d3349fa3e4ed0a28e70ccbb0b8730a62058cb (diff) | |
download | qt-creator-4324f3e8c1ddb4250ba2e73bd9cb4bd00d49f595.tar.gz |
Editor: pass AssistInterface to createProcessor
The interface can be used for checking the context of a codeassist
request to determine
the correct processor that has to be created.
Change-Id: I47ddb05c46399566e27bae21711f11a3a4132c3f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
38 files changed, 48 insertions, 42 deletions
diff --git a/src/plugins/clangcodemodel/clangcompletionassistprovider.cpp b/src/plugins/clangcodemodel/clangcompletionassistprovider.cpp index 9ef3eb40fa..c3c752f956 100644 --- a/src/plugins/clangcodemodel/clangcompletionassistprovider.cpp +++ b/src/plugins/clangcodemodel/clangcompletionassistprovider.cpp @@ -54,7 +54,8 @@ TextEditor::IAssistProvider::RunType ClangCompletionAssistProvider::runType() co return Asynchronous; } -TextEditor::IAssistProcessor *ClangCompletionAssistProvider::createProcessor() const +TextEditor::IAssistProcessor *ClangCompletionAssistProvider::createProcessor( + const TextEditor::AssistInterface *) const { return new ClangCompletionAssistProcessor; } diff --git a/src/plugins/clangcodemodel/clangcompletionassistprovider.h b/src/plugins/clangcodemodel/clangcompletionassistprovider.h index 308d862bd6..c1bb5b6b87 100644 --- a/src/plugins/clangcodemodel/clangcompletionassistprovider.h +++ b/src/plugins/clangcodemodel/clangcompletionassistprovider.h @@ -44,7 +44,7 @@ public: IAssistProvider::RunType runType() const override; - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; TextEditor::AssistInterface *createAssistInterface( const Utils::FilePath &filePath, const TextEditor::TextEditorWidget *textEditorWidget, diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index 43ed0c2d28..d5ff6c9390 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -525,7 +525,7 @@ public: private: RunType runType() const override { return Asynchronous; } - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; ClangdClient::Private * const m_data; }; @@ -723,7 +723,7 @@ public: private: RunType runType() const override { return Synchronous; } - TextEditor::IAssistProcessor *createProcessor() const override + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override { return new DoxygenAssistProcessor(m_position, m_completionOperator, m_proposalHandler); } @@ -2690,7 +2690,8 @@ ClangdClient::VirtualFunctionAssistProcessor::createEntry(const QString &name, return item; } -TextEditor::IAssistProcessor *ClangdClient::VirtualFunctionAssistProvider::createProcessor() const +TextEditor::IAssistProcessor *ClangdClient::VirtualFunctionAssistProvider::createProcessor( + const TextEditor::AssistInterface *) const { return m_data->followSymbolData->virtualFuncAssistProcessor = new VirtualFunctionAssistProcessor(m_data); diff --git a/src/plugins/clangcodemodel/test/clangautomationutils.cpp b/src/plugins/clangcodemodel/test/clangautomationutils.cpp index 73f5587612..ec2b6e9207 100644 --- a/src/plugins/clangcodemodel/test/clangautomationutils.cpp +++ b/src/plugins/clangcodemodel/test/clangautomationutils.cpp @@ -119,7 +119,7 @@ TextEditor::ProposalModelPtr completionResults(TextEditor::BaseTextEditor *textE QTC_ASSERT(assistProvider->runType() == IAssistProvider::Asynchronous, return TextEditor::ProposalModelPtr()); - QScopedPointer<IAssistProcessor> processor(assistProvider->createProcessor()); + QScopedPointer<IAssistProcessor> processor(assistProvider->createProcessor(assistInterface)); QTC_ASSERT(processor, return TextEditor::ProposalModelPtr()); WaitForAsyncCompletions waitForCompletions; diff --git a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp index b721c147d6..9e8e63a3d9 100644 --- a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp +++ b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.cpp @@ -44,7 +44,7 @@ using namespace ProjectExplorer; // CMakeFileCompletionAssistProvider // ------------------------------- -IAssistProcessor *CMakeFileCompletionAssistProvider::createProcessor() const +IAssistProcessor *CMakeFileCompletionAssistProvider::createProcessor(const AssistInterface *) const { return new CMakeFileCompletionAssist; } diff --git a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h index 440bbcb6c0..7a00873a34 100644 --- a/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h +++ b/src/plugins/cmakeprojectmanager/cmakefilecompletionassist.h @@ -44,7 +44,7 @@ class CMakeFileCompletionAssistProvider : public TextEditor::CompletionAssistPro Q_OBJECT public: - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; }; } // Internal diff --git a/src/plugins/cppeditor/cppcompletionassist.cpp b/src/plugins/cppeditor/cppcompletionassist.cpp index 1eb767427b..595a6c85d2 100644 --- a/src/plugins/cppeditor/cppcompletionassist.cpp +++ b/src/plugins/cppeditor/cppcompletionassist.cpp @@ -417,7 +417,7 @@ int CppFunctionHintModel::activeArgument(const QString &prefix) const // InternalCompletionAssistProvider // --------------------------- -IAssistProcessor *InternalCompletionAssistProvider::createProcessor() const +IAssistProcessor *InternalCompletionAssistProvider::createProcessor(const AssistInterface *) const { return new InternalCppCompletionAssistProcessor; } diff --git a/src/plugins/cppeditor/cppcompletionassist.h b/src/plugins/cppeditor/cppcompletionassist.h index 965a6ee7ff..1d477cff79 100644 --- a/src/plugins/cppeditor/cppcompletionassist.h +++ b/src/plugins/cppeditor/cppcompletionassist.h @@ -81,7 +81,7 @@ class InternalCompletionAssistProvider : public CppCompletionAssistProvider Q_OBJECT public: - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; TextEditor::AssistInterface *createAssistInterface( const Utils::FilePath &filePath, diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp index e8f5773916..c73ab89afa 100644 --- a/src/plugins/cppeditor/cppeditorwidget.cpp +++ b/src/plugins/cppeditor/cppeditorwidget.cpp @@ -1122,7 +1122,8 @@ static void addRefactoringActions(QMenu *menu, AssistInterface *iface) using Processor = QScopedPointer<IAssistProcessor>; using Proposal = QScopedPointer<IAssistProposal>; - const Processor processor(CppEditorPlugin::instance()->quickFixProvider()->createProcessor()); + const Processor processor( + CppEditorPlugin::instance()->quickFixProvider()->createProcessor(iface)); const Proposal proposal(processor->perform(iface)); // OK, perform() takes ownership of iface. if (proposal) { auto model = proposal->model().staticCast<GenericProposalModel>(); diff --git a/src/plugins/cppeditor/cppquickfixassistant.cpp b/src/plugins/cppeditor/cppquickfixassistant.cpp index 644628e2d4..f254abc8df 100644 --- a/src/plugins/cppeditor/cppquickfixassistant.cpp +++ b/src/plugins/cppeditor/cppquickfixassistant.cpp @@ -72,7 +72,7 @@ IAssistProvider::RunType CppQuickFixAssistProvider::runType() const return Synchronous; } -IAssistProcessor *CppQuickFixAssistProvider::createProcessor() const +IAssistProcessor *CppQuickFixAssistProvider::createProcessor(const AssistInterface *) const { return new CppQuickFixAssistProcessor; } diff --git a/src/plugins/cppeditor/cppquickfixassistant.h b/src/plugins/cppeditor/cppquickfixassistant.h index 754e15f2f3..d5e626cb0e 100644 --- a/src/plugins/cppeditor/cppquickfixassistant.h +++ b/src/plugins/cppeditor/cppquickfixassistant.h @@ -70,7 +70,7 @@ class CppQuickFixAssistProvider : public TextEditor::IAssistProvider public: CppQuickFixAssistProvider() = default; IAssistProvider::RunType runType() const override; - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; }; } // Internal diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp index afa158bd56..ff7d8ca8a2 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp @@ -189,7 +189,7 @@ IAssistProvider::RunType VirtualFunctionAssistProvider::runType() const return AsynchronousWithThread; } -IAssistProcessor *VirtualFunctionAssistProvider::createProcessor() const +IAssistProcessor *VirtualFunctionAssistProvider::createProcessor(const AssistInterface *) const { return new VirtualFunctionAssistProcessor(m_params); } diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h index e9abf4253c..4d68b82726 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.h @@ -77,7 +77,7 @@ public: void clearParams() { m_params = Parameters(); } IAssistProvider::RunType runType() const override; - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; private: Parameters m_params; diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp index e5127f617d..59bd65c092 100644 --- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp +++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp @@ -137,9 +137,9 @@ public: { VirtualFunctionAssistProvider::configure(params); - const QScopedPointer<IAssistProcessor> processor(createProcessor()); AssistInterface *assistInterface - = m_editorWidget->createAssistInterface(FollowSymbol, ExplicitlyInvoked); + = m_editorWidget->createAssistInterface(FollowSymbol, ExplicitlyInvoked); + const QScopedPointer<IAssistProcessor> processor(createProcessor(assistInterface)); const QScopedPointer<IAssistProposal> immediateProposal( processor->immediateProposal(assistInterface)); diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 37e8e98c58..9791cd5a70 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -985,7 +985,7 @@ void FakeVimUserCommandsPage::apply() class FakeVimCompletionAssistProvider : public CompletionAssistProvider { public: - IAssistProcessor *createProcessor() const override; + IAssistProcessor *createProcessor(const AssistInterface *) const override; void setActive(const QString &needle, bool forward, FakeVimHandler *handler) { @@ -1122,7 +1122,7 @@ private: const FakeVimCompletionAssistProvider *m_provider; }; -IAssistProcessor *FakeVimCompletionAssistProvider::createProcessor() const +IAssistProcessor *FakeVimCompletionAssistProvider::createProcessor(const AssistInterface *) const { return new FakeVimCompletionAssistProcessor(this); } diff --git a/src/plugins/glsleditor/glslcompletionassist.cpp b/src/plugins/glsleditor/glslcompletionassist.cpp index c818791ee1..60ee6c8214 100644 --- a/src/plugins/glsleditor/glslcompletionassist.cpp +++ b/src/plugins/glsleditor/glslcompletionassist.cpp @@ -187,7 +187,7 @@ static QIcon glslIcon(IconTypes iconType) // ---------------------------- // GlslCompletionAssistProvider // ---------------------------- -IAssistProcessor *GlslCompletionAssistProvider::createProcessor() const +IAssistProcessor *GlslCompletionAssistProvider::createProcessor(const AssistInterface *) const { return new GlslCompletionAssistProcessor; } diff --git a/src/plugins/glsleditor/glslcompletionassist.h b/src/plugins/glsleditor/glslcompletionassist.h index 3e13da730d..596ddac25f 100644 --- a/src/plugins/glsleditor/glslcompletionassist.h +++ b/src/plugins/glsleditor/glslcompletionassist.h @@ -83,7 +83,7 @@ class GlslCompletionAssistProvider : public TextEditor::CompletionAssistProvider Q_OBJECT public: - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; int activationCharSequenceLength() const override; bool isActivationCharSequence(const QString &sequence) const override; diff --git a/src/plugins/languageclient/languageclientcompletionassist.cpp b/src/plugins/languageclient/languageclientcompletionassist.cpp index 2a1ff2c094..dd6b6876d4 100644 --- a/src/plugins/languageclient/languageclientcompletionassist.cpp +++ b/src/plugins/languageclient/languageclientcompletionassist.cpp @@ -474,7 +474,8 @@ LanguageClientCompletionAssistProvider::LanguageClientCompletionAssistProvider(C , m_client(client) { } -IAssistProcessor *LanguageClientCompletionAssistProvider::createProcessor() const +IAssistProcessor *LanguageClientCompletionAssistProvider::createProcessor( + const AssistInterface *) const { return new LanguageClientCompletionAssistProcessor(m_client, m_itemsTransformer, m_applyHelper, m_proposalHandler, m_snippetsGroup); diff --git a/src/plugins/languageclient/languageclientcompletionassist.h b/src/plugins/languageclient/languageclientcompletionassist.h index 4184aacbd0..61a7626655 100644 --- a/src/plugins/languageclient/languageclientcompletionassist.h +++ b/src/plugins/languageclient/languageclientcompletionassist.h @@ -62,7 +62,7 @@ class LANGUAGECLIENT_EXPORT LanguageClientCompletionAssistProvider public: LanguageClientCompletionAssistProvider(Client *client); - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; RunType runType() const override; int activationCharSequenceLength() const override; diff --git a/src/plugins/languageclient/languageclientfunctionhint.cpp b/src/plugins/languageclient/languageclientfunctionhint.cpp index 216baabfb6..91a9748b76 100644 --- a/src/plugins/languageclient/languageclientfunctionhint.cpp +++ b/src/plugins/languageclient/languageclientfunctionhint.cpp @@ -157,7 +157,8 @@ FunctionHintAssistProvider::FunctionHintAssistProvider(Client *client) , m_client(client) {} -TextEditor::IAssistProcessor *FunctionHintAssistProvider::createProcessor() const +TextEditor::IAssistProcessor *FunctionHintAssistProvider::createProcessor( + const AssistInterface *) const { return new FunctionHintProcessor(m_client, m_proposalHandler); } diff --git a/src/plugins/languageclient/languageclientfunctionhint.h b/src/plugins/languageclient/languageclientfunctionhint.h index c8ef3a76e1..e268c4fed0 100644 --- a/src/plugins/languageclient/languageclientfunctionhint.h +++ b/src/plugins/languageclient/languageclientfunctionhint.h @@ -43,7 +43,7 @@ class FunctionHintAssistProvider : public TextEditor::CompletionAssistProvider public: explicit FunctionHintAssistProvider(Client *client); - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; RunType runType() const override; int activationCharSequenceLength() const override; diff --git a/src/plugins/languageclient/languageclientquickfix.cpp b/src/plugins/languageclient/languageclientquickfix.cpp index a6d30c03dd..93d85b15f2 100644 --- a/src/plugins/languageclient/languageclientquickfix.cpp +++ b/src/plugins/languageclient/languageclientquickfix.cpp @@ -165,7 +165,7 @@ IAssistProvider::RunType LanguageClientQuickFixProvider::runType() const return Asynchronous; } -IAssistProcessor *LanguageClientQuickFixProvider::createProcessor() const +IAssistProcessor *LanguageClientQuickFixProvider::createProcessor(const AssistInterface *) const { return new LanguageClientQuickFixAssistProcessor(m_client); } diff --git a/src/plugins/languageclient/languageclientquickfix.h b/src/plugins/languageclient/languageclientquickfix.h index 27eb4c445b..955f12bc87 100644 --- a/src/plugins/languageclient/languageclientquickfix.h +++ b/src/plugins/languageclient/languageclientquickfix.h @@ -54,7 +54,7 @@ class LANGUAGECLIENT_EXPORT LanguageClientQuickFixProvider : public TextEditor:: public: explicit LanguageClientQuickFixProvider(Client *client); IAssistProvider::RunType runType() const override; - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; private: Client *m_client = nullptr; // not owned diff --git a/src/plugins/nim/editor/nimcompletionassistprovider.cpp b/src/plugins/nim/editor/nimcompletionassistprovider.cpp index b920dbfd25..f6c891c4b2 100644 --- a/src/plugins/nim/editor/nimcompletionassistprovider.cpp +++ b/src/plugins/nim/editor/nimcompletionassistprovider.cpp @@ -259,7 +259,7 @@ private: }; -TextEditor::IAssistProcessor *NimCompletionAssistProvider::createProcessor() const +IAssistProcessor *NimCompletionAssistProvider::createProcessor(const AssistInterface *) const { return new NimCompletionAssistProcessor(); } diff --git a/src/plugins/nim/editor/nimcompletionassistprovider.h b/src/plugins/nim/editor/nimcompletionassistprovider.h index 77c5077b78..f7b4d66d17 100644 --- a/src/plugins/nim/editor/nimcompletionassistprovider.h +++ b/src/plugins/nim/editor/nimcompletionassistprovider.h @@ -34,7 +34,7 @@ class NimCompletionAssistProvider : public TextEditor::CompletionAssistProvider Q_OBJECT public: - TextEditor::IAssistProcessor *createProcessor() const final; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const final; int activationCharSequenceLength() const final; bool isActivationCharSequence(const QString &sequence) const final; RunType runType() const final; diff --git a/src/plugins/qmljseditor/qmljscompletionassist.cpp b/src/plugins/qmljseditor/qmljscompletionassist.cpp index cc38dc91ec..5fc1e3d704 100644 --- a/src/plugins/qmljseditor/qmljscompletionassist.cpp +++ b/src/plugins/qmljseditor/qmljscompletionassist.cpp @@ -515,7 +515,7 @@ bool QmlJSCompletionAssistProvider::isContinuationChar(const QChar &c) const return isIdentifierChar(c, false); } -IAssistProcessor *QmlJSCompletionAssistProvider::createProcessor() const +IAssistProcessor *QmlJSCompletionAssistProvider::createProcessor(const AssistInterface *) const { return new QmlJSCompletionAssistProcessor; } diff --git a/src/plugins/qmljseditor/qmljscompletionassist.h b/src/plugins/qmljseditor/qmljscompletionassist.h index e023a105e5..4c8a5eb53d 100644 --- a/src/plugins/qmljseditor/qmljscompletionassist.h +++ b/src/plugins/qmljseditor/qmljscompletionassist.h @@ -125,7 +125,7 @@ class QMLJSEDITOR_EXPORT QmlJSCompletionAssistProvider : public TextEditor::Comp Q_OBJECT public: - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; int activationCharSequenceLength() const override; bool isActivationCharSequence(const QString &sequence) const override; diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index b6f8287561..a3c0d8ee2e 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -880,7 +880,7 @@ void QmlJSEditorWidget::contextMenuEvent(QContextMenuEvent *e) AssistInterface *interface = createAssistInterface(QuickFix, ExplicitlyInvoked); if (interface) { QScopedPointer<IAssistProcessor> processor( - Internal::QmlJSEditorPlugin::quickFixAssistProvider()->createProcessor()); + Internal::QmlJSEditorPlugin::quickFixAssistProvider()->createProcessor(interface)); QScopedPointer<IAssistProposal> proposal(processor->perform(interface)); if (!proposal.isNull()) { GenericProposalModelPtr model = proposal->model().staticCast<GenericProposalModel>(); diff --git a/src/plugins/qmljseditor/qmljsquickfixassist.cpp b/src/plugins/qmljseditor/qmljsquickfixassist.cpp index 03fdf54880..15feed0cfd 100644 --- a/src/plugins/qmljseditor/qmljsquickfixassist.cpp +++ b/src/plugins/qmljseditor/qmljsquickfixassist.cpp @@ -86,7 +86,7 @@ IAssistProvider::RunType QmlJSQuickFixAssistProvider::runType() const return Synchronous; } -IAssistProcessor *QmlJSQuickFixAssistProvider::createProcessor() const +IAssistProcessor *QmlJSQuickFixAssistProvider::createProcessor(const AssistInterface *) const { return new QmlJSQuickFixAssistProcessor; } diff --git a/src/plugins/qmljseditor/qmljsquickfixassist.h b/src/plugins/qmljseditor/qmljsquickfixassist.h index 21aaf46073..a5f39688eb 100644 --- a/src/plugins/qmljseditor/qmljsquickfixassist.h +++ b/src/plugins/qmljseditor/qmljsquickfixassist.h @@ -59,7 +59,7 @@ public: ~QmlJSQuickFixAssistProvider() override = default; IAssistProvider::RunType runType() const override; - TextEditor::IAssistProcessor *createProcessor() const override; + TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override; }; } // Internal diff --git a/src/plugins/texteditor/circularclipboardassist.cpp b/src/plugins/texteditor/circularclipboardassist.cpp index bb53aa9d97..36055ca110 100644 --- a/src/plugins/texteditor/circularclipboardassist.cpp +++ b/src/plugins/texteditor/circularclipboardassist.cpp @@ -113,7 +113,7 @@ IAssistProvider::RunType ClipboardAssistProvider::runType() const return Synchronous; } -IAssistProcessor *ClipboardAssistProvider::createProcessor() const +IAssistProcessor *ClipboardAssistProvider::createProcessor(const AssistInterface *) const { return new ClipboardAssistProcessor; } diff --git a/src/plugins/texteditor/circularclipboardassist.h b/src/plugins/texteditor/circularclipboardassist.h index f230e954e4..ee6863594b 100644 --- a/src/plugins/texteditor/circularclipboardassist.h +++ b/src/plugins/texteditor/circularclipboardassist.h @@ -36,7 +36,7 @@ class ClipboardAssistProvider: public IAssistProvider public: ClipboardAssistProvider(QObject *parent = nullptr) : IAssistProvider(parent) {} IAssistProvider::RunType runType() const override; - IAssistProcessor *createProcessor() const override; + IAssistProcessor *createProcessor(const AssistInterface *) const override; }; } // namespace Internal diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index bf1d2be10c..1e30a8499b 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -221,7 +221,7 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason, m_assistKind = kind; m_requestProvider = provider; - IAssistProcessor *processor = provider->createProcessor(); + IAssistProcessor *processor = provider->createProcessor(assistInterface); switch (provider->runType()) { case IAssistProvider::Synchronous: { diff --git a/src/plugins/texteditor/codeassist/documentcontentcompletion.cpp b/src/plugins/texteditor/codeassist/documentcontentcompletion.cpp index 4715364f9d..ddf0d8a16a 100644 --- a/src/plugins/texteditor/codeassist/documentcontentcompletion.cpp +++ b/src/plugins/texteditor/codeassist/documentcontentcompletion.cpp @@ -69,7 +69,7 @@ IAssistProvider::RunType DocumentContentCompletionProvider::runType() const return Asynchronous; } -IAssistProcessor *DocumentContentCompletionProvider::createProcessor() const +IAssistProcessor *DocumentContentCompletionProvider::createProcessor(const AssistInterface *) const { return new DocumentContentCompletionProcessor(m_snippetGroup); } diff --git a/src/plugins/texteditor/codeassist/documentcontentcompletion.h b/src/plugins/texteditor/codeassist/documentcontentcompletion.h index 3ac3db00c2..0c36f43a09 100644 --- a/src/plugins/texteditor/codeassist/documentcontentcompletion.h +++ b/src/plugins/texteditor/codeassist/documentcontentcompletion.h @@ -40,7 +40,7 @@ public: const QString &snippetGroup = QString(Constants::TEXT_SNIPPET_GROUP_ID)); RunType runType() const override; - IAssistProcessor *createProcessor() const override; + IAssistProcessor *createProcessor(const AssistInterface *) const override; private: QString m_snippetGroup; diff --git a/src/plugins/texteditor/codeassist/iassistprovider.h b/src/plugins/texteditor/codeassist/iassistprovider.h index 2be44a6746..6a648dd55c 100644 --- a/src/plugins/texteditor/codeassist/iassistprovider.h +++ b/src/plugins/texteditor/codeassist/iassistprovider.h @@ -31,6 +31,7 @@ namespace TextEditor { +class AssistInterface; class IAssistProcessor; class TEXTEDITOR_EXPORT IAssistProvider : public QObject @@ -47,7 +48,7 @@ public: }; virtual RunType runType() const = 0; - virtual IAssistProcessor *createProcessor() const = 0; + virtual IAssistProcessor *createProcessor(const AssistInterface *assistInterface) const = 0; }; } // TextEditor diff --git a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp index b6cee71cde..2c59ab97d6 100644 --- a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp +++ b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp @@ -284,7 +284,7 @@ IAssistProvider::RunType KeywordsCompletionAssistProvider::runType() const return Synchronous; } -IAssistProcessor *KeywordsCompletionAssistProvider::createProcessor() const +IAssistProcessor *KeywordsCompletionAssistProvider::createProcessor(const AssistInterface *) const { auto processor = new KeywordsCompletionAssistProcessor(m_keyWords); processor->setSnippetGroup(m_snippetGroup); diff --git a/src/plugins/texteditor/codeassist/keywordscompletionassist.h b/src/plugins/texteditor/codeassist/keywordscompletionassist.h index a250be4877..c970595ee7 100644 --- a/src/plugins/texteditor/codeassist/keywordscompletionassist.h +++ b/src/plugins/texteditor/codeassist/keywordscompletionassist.h @@ -95,7 +95,7 @@ public: // IAssistProvider interface RunType runType() const override; - IAssistProcessor *createProcessor() const override; + IAssistProcessor *createProcessor(const AssistInterface *) const override; private: Keywords m_keyWords; |