diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2010-08-13 11:48:29 +0200 |
---|---|---|
committer | Christian Kamm <christian.d.kamm@nokia.com> | 2010-08-13 12:51:22 +0200 |
commit | bbe64796a0f3a8c57718a5121fff85ba0b14c7a0 (patch) | |
tree | ac1dc93d0c94f78b8907b94ff880fa735c509b46 /src/plugins/cppeditor/cpprefactoringchanges.h | |
parent | 6c76866b12a7fcfd8375fcf47cc2ecea0768a124 (diff) | |
download | qt-creator-bbe64796a0f3a8c57718a5121fff85ba0b14c7a0.tar.gz |
QuickFix: Introduce CppRefactoringFile.
Diffstat (limited to 'src/plugins/cppeditor/cpprefactoringchanges.h')
-rw-r--r-- | src/plugins/cppeditor/cpprefactoringchanges.h | 40 |
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; |