summaryrefslogtreecommitdiff
path: root/src/plugins/cppeditor/cpprefactoringchanges.h
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2010-08-13 11:48:29 +0200
committerChristian Kamm <christian.d.kamm@nokia.com>2010-08-13 12:51:22 +0200
commitbbe64796a0f3a8c57718a5121fff85ba0b14c7a0 (patch)
treeac1dc93d0c94f78b8907b94ff880fa735c509b46 /src/plugins/cppeditor/cpprefactoringchanges.h
parent6c76866b12a7fcfd8375fcf47cc2ecea0768a124 (diff)
downloadqt-creator-bbe64796a0f3a8c57718a5121fff85ba0b14c7a0.tar.gz
QuickFix: Introduce CppRefactoringFile.
Diffstat (limited to 'src/plugins/cppeditor/cpprefactoringchanges.h')
-rw-r--r--src/plugins/cppeditor/cpprefactoringchanges.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/plugins/cppeditor/cpprefactoringchanges.h b/src/plugins/cppeditor/cpprefactoringchanges.h
index 7c8d136879..9a7e215255 100644
--- a/src/plugins/cppeditor/cpprefactoringchanges.h
+++ b/src/plugins/cppeditor/cpprefactoringchanges.h
@@ -30,6 +30,7 @@
#ifndef CPPREFACTORINGCHANGES_H
#define CPPREFACTORINGCHANGES_H
+#include <ASTfwd.h>
#include <cplusplus/CppDocument.h>
#include <cplusplus/LookupContext.h>
@@ -40,6 +41,43 @@
namespace CppEditor {
+class CppRefactoringChanges;
+
+class CPPEDITOR_EXPORT CppRefactoringFile: public TextEditor::RefactoringFile
+{
+public:
+ CppRefactoringFile();
+ CppRefactoringFile(const QString &fileName, CppRefactoringChanges *refactoringChanges);
+
+ CPlusPlus::Document::Ptr cppDocument() const;
+
+ CPlusPlus::Scope *scopeAt(unsigned index) const;
+
+ bool isCursorOn(unsigned tokenIndex) const;
+ bool isCursorOn(const CPlusPlus::AST *ast) const;
+
+ Range range(int start, int end) const;
+ Range range(unsigned tokenIndex) const;
+ Range range(CPlusPlus::AST *ast) const;
+
+ const CPlusPlus::Token &tokenAt(unsigned index) const;
+
+ int startOf(unsigned index) const;
+ int startOf(const CPlusPlus::AST *ast) const;
+ int endOf(unsigned index) const;
+ int endOf(const CPlusPlus::AST *ast) const;
+
+ void startAndEndOf(unsigned index, int *start, int *end) const;
+
+ using TextEditor::RefactoringFile::textOf;
+ QString textOf(const CPlusPlus::AST *ast) const;
+
+private:
+ CppRefactoringChanges *refactoringChanges() const;
+
+ mutable CPlusPlus::Document::Ptr m_cppDocument;
+};
+
class CPPEDITOR_EXPORT CppRefactoringChanges: public TextEditor::RefactoringChanges
{
public:
@@ -50,7 +88,7 @@ public:
const CPlusPlus::Snapshot &snapshot() const;
const CPlusPlus::LookupContext &context() const;
- CPlusPlus::Document::Ptr document(const TextEditor::RefactoringFile &file) const;
+ CppRefactoringFile file(const QString &fileName);
private:
virtual void indentSelection(const QTextCursor &selection) const;