diff --git a/src/plugins/cppeditor/cpprefactoringchanges.cpp b/src/plugins/cppeditor/cpprefactoringchanges.cpp index a1514a9efbf..7ee709c118f 100644 --- a/src/plugins/cppeditor/cpprefactoringchanges.cpp +++ b/src/plugins/cppeditor/cpprefactoringchanges.cpp @@ -34,15 +34,10 @@ static std::unique_ptr createIndenter(const FilePath &file } CppRefactoringChanges::CppRefactoringChanges(const Snapshot &snapshot) - : RefactoringChanges(new CppRefactoringChangesData(snapshot)) + : m_data(new CppRefactoringChangesData(snapshot)) { } -CppRefactoringChangesData *CppRefactoringChanges::data() const -{ - return static_cast(m_data.data()); -} - CppRefactoringFilePtr CppRefactoringChanges::file(TextEditor::TextEditorWidget *editor, const Document::Ptr &document) { CppRefactoringFilePtr result(new CppRefactoringFile(editor)); @@ -52,8 +47,7 @@ CppRefactoringFilePtr CppRefactoringChanges::file(TextEditor::TextEditorWidget * TextEditor::RefactoringFilePtr CppRefactoringChanges::file(const FilePath &filePath) const { - CppRefactoringFilePtr result(new CppRefactoringFile(filePath, m_data.staticCast())); - return result; + return TextEditor::RefactoringFilePtr(new CppRefactoringFile(filePath, m_data)); } CppRefactoringFilePtr CppRefactoringChanges::cppFile(const Utils::FilePath &filePath) const @@ -64,7 +58,7 @@ CppRefactoringFilePtr CppRefactoringChanges::cppFile(const Utils::FilePath &file CppRefactoringFileConstPtr CppRefactoringChanges::fileNoEditor(const FilePath &filePath) const { QTextDocument *document = nullptr; - if (const auto source = data()->m_workingCopy.source(filePath)) + if (const auto source = m_data->m_workingCopy.source(filePath)) document = new QTextDocument(QString::fromUtf8(*source)); CppRefactoringFilePtr result(new CppRefactoringFile(document, filePath)); result->m_data = m_data.staticCast(); @@ -74,7 +68,7 @@ CppRefactoringFileConstPtr CppRefactoringChanges::fileNoEditor(const FilePath &f const Snapshot &CppRefactoringChanges::snapshot() const { - return data()->m_snapshot; + return m_data->m_snapshot; } CppRefactoringFile::CppRefactoringFile(const FilePath &filePath, const QSharedPointer &data) diff --git a/src/plugins/cppeditor/cpprefactoringchanges.h b/src/plugins/cppeditor/cpprefactoringchanges.h index 972aae34918..ab8fbae1a3f 100644 --- a/src/plugins/cppeditor/cpprefactoringchanges.h +++ b/src/plugins/cppeditor/cpprefactoringchanges.h @@ -98,7 +98,7 @@ public: const CPlusPlus::Snapshot &snapshot() const; private: - CppRefactoringChangesData *data() const; + const QSharedPointer m_data; }; } // namespace CppEditor diff --git a/src/plugins/qmljstools/qmljsrefactoringchanges.cpp b/src/plugins/qmljstools/qmljsrefactoringchanges.cpp index 617d5292e99..f9182cefd8b 100644 --- a/src/plugins/qmljstools/qmljsrefactoringchanges.cpp +++ b/src/plugins/qmljstools/qmljsrefactoringchanges.cpp @@ -30,13 +30,13 @@ public: QmlJSRefactoringChanges::QmlJSRefactoringChanges(ModelManagerInterface *modelManager, const Snapshot &snapshot) - : RefactoringChanges(new QmlJSRefactoringChangesData(modelManager, snapshot)) + : m_data(new QmlJSRefactoringChangesData(modelManager, snapshot)) { } TextEditor::RefactoringFilePtr QmlJSRefactoringChanges::file(const Utils::FilePath &filePath) const { - return QmlJSRefactoringFilePtr(new QmlJSRefactoringFile(filePath, m_data.staticCast())); + return QmlJSRefactoringFilePtr(new QmlJSRefactoringFile(filePath, m_data)); } QmlJSRefactoringFilePtr QmlJSRefactoringChanges::qmlJSFile(const Utils::FilePath &filePath) const @@ -52,12 +52,7 @@ QmlJSRefactoringFilePtr QmlJSRefactoringChanges::file( const Snapshot &QmlJSRefactoringChanges::snapshot() const { - return data()->m_snapshot; -} - -QmlJSRefactoringChangesData *QmlJSRefactoringChanges::data() const -{ - return static_cast(m_data.data()); + return m_data->m_snapshot; } QmlJSRefactoringFile::QmlJSRefactoringFile( diff --git a/src/plugins/qmljstools/qmljsrefactoringchanges.h b/src/plugins/qmljstools/qmljsrefactoringchanges.h index 11d23b382d6..71db46a7c5a 100644 --- a/src/plugins/qmljstools/qmljsrefactoringchanges.h +++ b/src/plugins/qmljstools/qmljsrefactoringchanges.h @@ -67,7 +67,7 @@ public: const QmlJS::Snapshot &snapshot() const; private: - QmlJSRefactoringChangesData *data() const; + const QSharedPointer m_data; }; } // namespace QmlJSTools diff --git a/src/plugins/texteditor/refactoringchanges.cpp b/src/plugins/texteditor/refactoringchanges.cpp index 1f655bf7d63..dc278e45227 100644 --- a/src/plugins/texteditor/refactoringchanges.cpp +++ b/src/plugins/texteditor/refactoringchanges.cpp @@ -26,10 +26,6 @@ using namespace Utils; namespace TextEditor { -RefactoringChanges::RefactoringChanges(RefactoringChangesData *data) - : m_data(data ? data : new RefactoringChangesData) -{} - RefactoringChanges::~RefactoringChanges() = default; RefactoringSelections RefactoringChanges::rangesToSelections(QTextDocument *document, diff --git a/src/plugins/texteditor/refactoringchanges.h b/src/plugins/texteditor/refactoringchanges.h index 95e250e9e01..f5ecaab3861 100644 --- a/src/plugins/texteditor/refactoringchanges.h +++ b/src/plugins/texteditor/refactoringchanges.h @@ -112,7 +112,6 @@ class TEXTEDITOR_EXPORT RefactoringChanges public: using Range = Utils::ChangeSet::Range; - explicit RefactoringChanges(RefactoringChangesData *data = nullptr); virtual ~RefactoringChanges(); // TODO: Make pure virtual and introduce dedicated subclass for generic refactoring, @@ -132,8 +131,6 @@ protected: static RefactoringSelections rangesToSelections(QTextDocument *document, const QList &ranges); - QSharedPointer m_data; - friend class RefactoringFile; };