diff options
Diffstat (limited to 'src/plugins/cppeditor/quickfixes/cppquickfixassistant.h')
-rw-r--r-- | src/plugins/cppeditor/quickfixes/cppquickfixassistant.h | 54 |
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 |