diff --git a/src/plugins/clangcodemodel/clangfixitoperation.cpp b/src/plugins/clangcodemodel/clangfixitoperation.cpp index 6f948e6af59..a05d1898870 100644 --- a/src/plugins/clangcodemodel/clangfixitoperation.cpp +++ b/src/plugins/clangcodemodel/clangfixitoperation.cpp @@ -46,7 +46,7 @@ static FileToFixits fixitsPerFile(const QList &fixIts) void ClangFixItOperation::perform() { - const TextEditor::RefactoringChanges refactoringChanges; + const TextEditor::RefactoringFileFactory refactoringChanges; const FileToFixits fileToFixIts = fixitsPerFile(fixIts); for (auto i = fileToFixIts.cbegin(), end = fileToFixIts.cend(); i != end; ++i) { diff --git a/src/plugins/clangcodemodel/clangfixitoperation.h b/src/plugins/clangcodemodel/clangfixitoperation.h index 140952e92fc..cc1fe7bab36 100644 --- a/src/plugins/clangcodemodel/clangfixitoperation.h +++ b/src/plugins/clangcodemodel/clangfixitoperation.h @@ -12,10 +12,7 @@ #include #include -namespace TextEditor { -class RefactoringChanges; -class RefactoringFile; -} +namespace TextEditor { class RefactoringFile; } namespace ClangCodeModel { namespace Internal { diff --git a/src/plugins/clangtools/documentquickfixfactory.cpp b/src/plugins/clangtools/documentquickfixfactory.cpp index e9807a8bcba..e737b3af6e7 100644 --- a/src/plugins/clangtools/documentquickfixfactory.cpp +++ b/src/plugins/clangtools/documentquickfixfactory.cpp @@ -41,7 +41,7 @@ static Range toRange(const QTextDocument *doc, DiagnosticRange locations) void ClangToolQuickFixOperation::perform() { - TextEditor::RefactoringChanges changes; + TextEditor::RefactoringFileFactory changes; QMap refactoringFiles; for (const ExplainingStep &step : m_diagnostic.explainingSteps) { diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp index 7ff5a2522f4..2ed1177388f 100644 --- a/src/plugins/cppeditor/cppmodelmanager.cpp +++ b/src/plugins/cppeditor/cppmodelmanager.cpp @@ -1839,7 +1839,7 @@ void CppModelManager::renameIncludes(const FilePath &oldFilePath, const FilePath if (oldFilePath.absolutePath() != newFilePath.absolutePath()) return; - const TextEditor::RefactoringChanges changes; + const TextEditor::RefactoringFileFactory changes; QString oldFileName = oldFilePath.fileName(); QString newFileName = newFilePath.fileName(); diff --git a/src/plugins/cppeditor/cpprefactoringchanges.h b/src/plugins/cppeditor/cpprefactoringchanges.h index cdff9f30eb4..05539d940ab 100644 --- a/src/plugins/cppeditor/cpprefactoringchanges.h +++ b/src/plugins/cppeditor/cpprefactoringchanges.h @@ -81,7 +81,7 @@ public: WorkingCopy m_workingCopy; }; -class CPPEDITOR_EXPORT CppRefactoringChanges: public TextEditor::RefactoringChanges +class CPPEDITOR_EXPORT CppRefactoringChanges: public TextEditor::RefactoringFileFactory { public: explicit CppRefactoringChanges(const CPlusPlus::Snapshot &snapshot); diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index c5b822aef67..49779f16462 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -1739,7 +1739,7 @@ void Client::log(const QString &message) const TextEditor::RefactoringFilePtr Client::createRefactoringFile(const FilePath &filePath) const { - return TextEditor::RefactoringChanges().file(filePath); + return TextEditor::RefactoringFileFactory().file(filePath); } void Client::setCompletionResultsLimit(int limit) diff --git a/src/plugins/qmljseditor/qmljsquickfix.cpp b/src/plugins/qmljseditor/qmljsquickfix.cpp index 6614c37ad37..e260c2bb8a6 100644 --- a/src/plugins/qmljseditor/qmljsquickfix.cpp +++ b/src/plugins/qmljseditor/qmljsquickfix.cpp @@ -15,7 +15,7 @@ using namespace QmlJS; using namespace QmlJS::AST; using namespace QmlJSTools; -using TextEditor::RefactoringChanges; +using TextEditor::RefactoringFileFactory; namespace QmlJSEditor { diff --git a/src/plugins/qmljstools/qmljsrefactoringchanges.h b/src/plugins/qmljstools/qmljsrefactoringchanges.h index 71db46a7c5a..56051d4dfa3 100644 --- a/src/plugins/qmljstools/qmljsrefactoringchanges.h +++ b/src/plugins/qmljstools/qmljsrefactoringchanges.h @@ -52,7 +52,7 @@ private: }; -class QMLJSTOOLS_EXPORT QmlJSRefactoringChanges: public TextEditor::RefactoringChanges +class QMLJSTOOLS_EXPORT QmlJSRefactoringChanges: public TextEditor::RefactoringFileFactory { public: QmlJSRefactoringChanges(QmlJS::ModelManagerInterface *modelManager, diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp index 8ddadeb7c7e..b6ef9b4ff5a 100644 --- a/src/plugins/texteditor/basefilefind.cpp +++ b/src/plugins/texteditor/basefilefind.cpp @@ -539,7 +539,7 @@ FilePaths BaseFileFind::replaceAll(const QString &text, const SearchResultItems if (items.isEmpty()) return {}; - RefactoringChanges refactoring; + RefactoringFileFactory refactoring; QHash changes; for (const SearchResultItem &item : items) diff --git a/src/plugins/texteditor/refactoringchanges.cpp b/src/plugins/texteditor/refactoringchanges.cpp index cd0b12c080a..8287ee09c17 100644 --- a/src/plugins/texteditor/refactoringchanges.cpp +++ b/src/plugins/texteditor/refactoringchanges.cpp @@ -26,9 +26,9 @@ using namespace Utils; namespace TextEditor { -RefactoringChanges::~RefactoringChanges() = default; +RefactoringFileFactory::~RefactoringFileFactory() = default; -RefactoringFilePtr RefactoringChanges::file(const FilePath &filePath) const +RefactoringFilePtr RefactoringFileFactory::file(const FilePath &filePath) const { return RefactoringFilePtr(new RefactoringFile(filePath)); } diff --git a/src/plugins/texteditor/refactoringchanges.h b/src/plugins/texteditor/refactoringchanges.h index 5168a58b8d3..43e3524a2d3 100644 --- a/src/plugins/texteditor/refactoringchanges.h +++ b/src/plugins/texteditor/refactoringchanges.h @@ -22,9 +22,9 @@ QT_END_NAMESPACE namespace TextEditor { class TextDocument; class TextEditorWidget; -class RefactoringChanges; class RefactoringFile; using RefactoringFilePtr = QSharedPointer; +class RefactoringFileFactory; using RefactoringSelections = QVector>; // ### listen to the m_editor::destroyed signal? @@ -103,17 +103,13 @@ protected: bool m_appliedOnce = false; bool m_formattingEnabled = false; - friend class RefactoringChanges; // access to constructor + friend class RefactoringFileFactory; // access to constructor }; - /*! - This class batches changes to multiple file, which are applied as a single big - change. - */ -class TEXTEDITOR_EXPORT RefactoringChanges +class TEXTEDITOR_EXPORT RefactoringFileFactory { public: - virtual ~RefactoringChanges(); + virtual ~RefactoringFileFactory(); // TODO: Make pure virtual and introduce dedicated subclass for generic refactoring, // so no one instantiates this one by mistake. diff --git a/src/plugins/texteditor/textdocument.cpp b/src/plugins/texteditor/textdocument.cpp index 2a133673afd..4276c81ad71 100644 --- a/src/plugins/texteditor/textdocument.cpp +++ b/src/plugins/texteditor/textdocument.cpp @@ -514,7 +514,7 @@ bool TextDocument::applyChangeSet(const ChangeSet &changeSet) { if (changeSet.isEmpty()) return true; - RefactoringChanges changes; + RefactoringFileFactory changes; const RefactoringFilePtr file = changes.file(filePath()); file->setChangeSet(changeSet); return file->apply();