forked from qt-creator/qt-creator
CppEditor: More direct access to CppQuickFixAssistProvider
Change-Id: I764b68ee2f328cff28b4c6482d28015b36f15bca Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -133,7 +133,7 @@ TextEditor::IAssistProvider *CppEditorDocument::quickFixAssistProvider() const
|
||||
{
|
||||
if (const auto baseProvider = TextDocument::quickFixAssistProvider())
|
||||
return baseProvider;
|
||||
return CppEditorPlugin::instance()->quickFixProvider();
|
||||
return &cppQuickFixAssistProvider();
|
||||
}
|
||||
|
||||
void CppEditorDocument::recalculateSemanticInfoDetached()
|
||||
|
@@ -18,7 +18,6 @@
|
||||
#include "cppoutline.h"
|
||||
#include "cppprojectfile.h"
|
||||
#include "cppprojectupdater.h"
|
||||
#include "cppquickfixassistant.h"
|
||||
#include "cppquickfixes.h"
|
||||
#include "cppquickfixprojectsettingswidget.h"
|
||||
#include "cppquickfixsettingspage.h"
|
||||
@@ -175,7 +174,6 @@ public:
|
||||
QAction *m_openTypeHierarchyAction = nullptr;
|
||||
QAction *m_openIncludeHierarchyAction = nullptr;
|
||||
|
||||
CppQuickFixAssistProvider m_quickFixProvider;
|
||||
CppQuickFixSettingsPage m_quickFixSettingsPage;
|
||||
|
||||
QPointer<CppCodeModelInspectorDialog> m_cppCodeModelInspectorDialog;
|
||||
@@ -217,11 +215,6 @@ CppEditorPlugin *CppEditorPlugin::instance()
|
||||
return m_instance;
|
||||
}
|
||||
|
||||
CppQuickFixAssistProvider *CppEditorPlugin::quickFixProvider() const
|
||||
{
|
||||
return &d->m_quickFixProvider;
|
||||
}
|
||||
|
||||
void CppEditorPlugin::initialize()
|
||||
{
|
||||
d = new CppEditorPluginPrivate;
|
||||
|
@@ -15,7 +15,6 @@ namespace Internal {
|
||||
|
||||
class CppEditorPluginPrivate;
|
||||
class CppFileSettings;
|
||||
class CppQuickFixAssistProvider;
|
||||
|
||||
class CppEditorPlugin : public ExtensionSystem::IPlugin
|
||||
{
|
||||
@@ -28,8 +27,6 @@ public:
|
||||
|
||||
static CppEditorPlugin *instance();
|
||||
|
||||
CppQuickFixAssistProvider *quickFixProvider() const;
|
||||
|
||||
static void clearHeaderSourceCache();
|
||||
static Utils::FilePath licenseTemplatePath(ProjectExplorer::Project *project);
|
||||
static QString licenseTemplate(ProjectExplorer::Project *project);
|
||||
|
@@ -3,10 +3,9 @@
|
||||
|
||||
#include "cppquickfixassistant.h"
|
||||
|
||||
#include "cppeditorconstants.h"
|
||||
#include "cppeditorwidget.h"
|
||||
#include "cppmodelmanager.h"
|
||||
#include "cppquickfixes.h"
|
||||
#include "cppquickfix.h"
|
||||
#include "cpprefactoringchanges.h"
|
||||
|
||||
#include <texteditor/codeassist/genericproposal.h>
|
||||
@@ -21,32 +20,35 @@
|
||||
using namespace CPlusPlus;
|
||||
using namespace TextEditor;
|
||||
|
||||
namespace CppEditor {
|
||||
namespace Internal {
|
||||
namespace CppEditor::Internal {
|
||||
|
||||
// -------------------------
|
||||
// CppQuickFixAssistProcessor
|
||||
// -------------------------
|
||||
class CppQuickFixAssistProcessor : public IAssistProcessor
|
||||
// CppQuickFixAssistProvider
|
||||
|
||||
class CppQuickFixAssistProvider final : public IAssistProvider
|
||||
{
|
||||
IAssistProposal *perform() override
|
||||
public:
|
||||
class CppQuickFixAssistProcessor final : public IAssistProcessor
|
||||
{
|
||||
IAssistProposal *perform() final
|
||||
{
|
||||
return GenericProposal::createProposal(interface(), quickFixOperations(interface()));
|
||||
}
|
||||
};
|
||||
|
||||
TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const final
|
||||
{
|
||||
return new CppQuickFixAssistProcessor;
|
||||
}
|
||||
};
|
||||
|
||||
// -------------------------
|
||||
// CppQuickFixAssistProvider
|
||||
// -------------------------
|
||||
|
||||
IAssistProcessor *CppQuickFixAssistProvider::createProcessor(const AssistInterface *) const
|
||||
IAssistProvider &cppQuickFixAssistProvider()
|
||||
{
|
||||
return new CppQuickFixAssistProcessor;
|
||||
static CppQuickFixAssistProvider theCppQuickFixAssistProvider;
|
||||
return theCppQuickFixAssistProvider;
|
||||
}
|
||||
|
||||
// --------------------------
|
||||
// CppQuickFixAssistInterface
|
||||
// --------------------------
|
||||
|
||||
CppQuickFixInterface::CppQuickFixInterface(CppEditorWidget *editor, AssistReason reason)
|
||||
: AssistInterface(editor->textCursor(), editor->textDocument()->filePath(), reason)
|
||||
, m_editor(editor)
|
||||
@@ -157,5 +159,4 @@ QuickFixOperations quickFixOperations(const TextEditor::AssistInterface *interfa
|
||||
return quickFixes;
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace CppEditor
|
||||
} // namespace CppEditor::Internal
|
||||
|
@@ -46,12 +46,7 @@ private:
|
||||
QList<CPlusPlus::AST *> m_path;
|
||||
};
|
||||
|
||||
class CppQuickFixAssistProvider : public TextEditor::IAssistProvider
|
||||
{
|
||||
public:
|
||||
CppQuickFixAssistProvider() = default;
|
||||
TextEditor::IAssistProcessor *createProcessor(const TextEditor::AssistInterface *) const override;
|
||||
};
|
||||
TextEditor::IAssistProvider &cppQuickFixAssistProvider();
|
||||
|
||||
TextEditor::QuickFixOperations quickFixOperations(const TextEditor::AssistInterface *interface);
|
||||
|
||||
|
Reference in New Issue
Block a user