aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor/quickfixes/cppquickfixassistant.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cppeditor/quickfixes/cppquickfixassistant.h')
-rw-r--r--src/plugins/cppeditor/quickfixes/cppquickfixassistant.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/plugins/cppeditor/quickfixes/cppquickfixassistant.h b/src/plugins/cppeditor/quickfixes/cppquickfixassistant.h
new file mode 100644
index 0000000000..db818c923c
--- /dev/null
+++ b/src/plugins/cppeditor/quickfixes/cppquickfixassistant.h
@@ -0,0 +1,54 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#pragma once
+
+#include "../cppsemanticinfo.h"
+
+#include <texteditor/codeassist/assistinterface.h>
+#include <texteditor/codeassist/iassistprovider.h>
+#include <texteditor/quickfix.h>
+
+#include <cplusplus/LookupContext.h>
+
+namespace CppEditor {
+class CppEditorWidget;
+class CppRefactoringFile;
+using CppRefactoringFilePtr = QSharedPointer<CppRefactoringFile>;
+
+namespace Internal {
+
+class CppQuickFixInterface : public TextEditor::AssistInterface
+{
+public:
+ CppQuickFixInterface(CppEditorWidget *editor, TextEditor::AssistReason reason);
+
+ const QList<CPlusPlus::AST *> &path() const;
+ CPlusPlus::Snapshot snapshot() const;
+ SemanticInfo semanticInfo() const;
+ const CPlusPlus::LookupContext &context() const;
+ CppEditorWidget *editor() const;
+
+ CppRefactoringFilePtr currentFile() const;
+
+ bool isCursorOn(unsigned tokenIndex) const;
+ bool isCursorOn(const CPlusPlus::AST *ast) const;
+ bool isBaseObject() const override { return false; }
+
+private:
+ QTextCursor adjustedCursor();
+
+ CppEditorWidget *m_editor;
+ SemanticInfo m_semanticInfo;
+ CPlusPlus::Snapshot m_snapshot;
+ CppRefactoringFilePtr m_currentFile;
+ CPlusPlus::LookupContext m_context;
+ QList<CPlusPlus::AST *> m_path;
+};
+
+TextEditor::IAssistProvider &cppQuickFixAssistProvider();
+
+TextEditor::QuickFixOperations quickFixOperations(const TextEditor::AssistInterface *interface);
+
+} // Internal
+} // CppEditor