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