TextEditor: Remove RefactoringFile::m_data

There is no use for a generic data member.

Change-Id: Iabfbc0587db2cffcc1c19baed832aa866f696ffe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2023-11-16 17:24:51 +01:00
parent 1c8ac2e7d3
commit 5d6fc1fc3b
6 changed files with 19 additions and 36 deletions

View File

@@ -52,7 +52,7 @@ CppRefactoringFilePtr CppRefactoringChanges::file(TextEditor::TextEditorWidget *
TextEditor::RefactoringFilePtr CppRefactoringChanges::file(const FilePath &filePath) const TextEditor::RefactoringFilePtr CppRefactoringChanges::file(const FilePath &filePath) const
{ {
CppRefactoringFilePtr result(new CppRefactoringFile(filePath, m_data)); CppRefactoringFilePtr result(new CppRefactoringFile(filePath, m_data.staticCast<CppRefactoringChangesData>()));
return result; return result;
} }
@@ -67,7 +67,7 @@ CppRefactoringFileConstPtr CppRefactoringChanges::fileNoEditor(const FilePath &f
if (const auto source = data()->m_workingCopy.source(filePath)) if (const auto source = data()->m_workingCopy.source(filePath))
document = new QTextDocument(QString::fromUtf8(*source)); document = new QTextDocument(QString::fromUtf8(*source));
CppRefactoringFilePtr result(new CppRefactoringFile(document, filePath)); CppRefactoringFilePtr result(new CppRefactoringFile(document, filePath));
result->m_data = m_data; result->m_data = m_data.staticCast<CppRefactoringChangesData>();
return result; return result;
} }
@@ -77,10 +77,10 @@ const Snapshot &CppRefactoringChanges::snapshot() const
return data()->m_snapshot; return data()->m_snapshot;
} }
CppRefactoringFile::CppRefactoringFile(const FilePath &filePath, const QSharedPointer<TextEditor::RefactoringChangesData> &data) CppRefactoringFile::CppRefactoringFile(const FilePath &filePath, const QSharedPointer<CppRefactoringChangesData> &data)
: RefactoringFile(filePath, data) : RefactoringFile(filePath), m_data(data)
{ {
const Snapshot &snapshot = this->data()->m_snapshot; const Snapshot &snapshot = data->m_snapshot;
m_cppDocument = snapshot.document(filePath); m_cppDocument = snapshot.document(filePath);
m_formattingEnabled = true; m_formattingEnabled = true;
} }
@@ -102,7 +102,7 @@ Document::Ptr CppRefactoringFile::cppDocument() const
if (!m_cppDocument || !m_cppDocument->translationUnit() || if (!m_cppDocument || !m_cppDocument->translationUnit() ||
!m_cppDocument->translationUnit()->ast()) { !m_cppDocument->translationUnit()->ast()) {
const QByteArray source = document()->toPlainText().toUtf8(); const QByteArray source = document()->toPlainText().toUtf8();
const Snapshot &snapshot = data()->m_snapshot; const Snapshot &snapshot = m_data->m_snapshot;
m_cppDocument = snapshot.preprocessedDocument(source, filePath()); m_cppDocument = snapshot.preprocessedDocument(source, filePath());
m_cppDocument->check(); m_cppDocument->check();
@@ -239,11 +239,6 @@ const Token &CppRefactoringFile::tokenAt(unsigned index) const
return cppDocument()->translationUnit()->tokenAt(index); return cppDocument()->translationUnit()->tokenAt(index);
} }
CppRefactoringChangesData *CppRefactoringFile::data() const
{
return static_cast<CppRefactoringChangesData *>(m_data.data());
}
void CppRefactoringFile::fileChanged() void CppRefactoringFile::fileChanged()
{ {
QTC_ASSERT(!m_filePath.isEmpty(), return); QTC_ASSERT(!m_filePath.isEmpty(), return);

View File

@@ -52,12 +52,10 @@ public:
QString textOf(const CPlusPlus::AST *ast) const; QString textOf(const CPlusPlus::AST *ast) const;
private: private:
CppRefactoringFile(const Utils::FilePath &filePath, const QSharedPointer<TextEditor::RefactoringChangesData> &data); CppRefactoringFile(const Utils::FilePath &filePath, const QSharedPointer<CppRefactoringChangesData> &data);
CppRefactoringFile(QTextDocument *document, const Utils::FilePath &filePath); CppRefactoringFile(QTextDocument *document, const Utils::FilePath &filePath);
explicit CppRefactoringFile(TextEditor::TextEditorWidget *editor); explicit CppRefactoringFile(TextEditor::TextEditorWidget *editor);
CppRefactoringChangesData *data() const;
void fileChanged() override; void fileChanged() override;
void indentSelection(const QTextCursor &selection, void indentSelection(const QTextCursor &selection,
const TextEditor::TextDocument *textDocument) const override; const TextEditor::TextDocument *textDocument) const override;
@@ -69,6 +67,7 @@ private:
int startIndex) const; int startIndex) const;
mutable CPlusPlus::Document::Ptr m_cppDocument; mutable CPlusPlus::Document::Ptr m_cppDocument;
QSharedPointer<CppRefactoringChangesData> m_data;
friend class CppRefactoringChanges; // for access to constructor friend class CppRefactoringChanges; // for access to constructor
}; };

View File

@@ -36,7 +36,7 @@ QmlJSRefactoringChanges::QmlJSRefactoringChanges(ModelManagerInterface *modelMan
TextEditor::RefactoringFilePtr QmlJSRefactoringChanges::file(const Utils::FilePath &filePath) const TextEditor::RefactoringFilePtr QmlJSRefactoringChanges::file(const Utils::FilePath &filePath) const
{ {
return QmlJSRefactoringFilePtr(new QmlJSRefactoringFile(filePath, m_data)); return QmlJSRefactoringFilePtr(new QmlJSRefactoringFile(filePath, m_data.staticCast<QmlJSRefactoringChangesData>()));
} }
QmlJSRefactoringFilePtr QmlJSRefactoringChanges::qmlJSFile(const Utils::FilePath &filePath) const QmlJSRefactoringFilePtr QmlJSRefactoringChanges::qmlJSFile(const Utils::FilePath &filePath) const
@@ -61,8 +61,8 @@ QmlJSRefactoringChangesData *QmlJSRefactoringChanges::data() const
} }
QmlJSRefactoringFile::QmlJSRefactoringFile( QmlJSRefactoringFile::QmlJSRefactoringFile(
const Utils::FilePath &filePath, const QSharedPointer<TextEditor::RefactoringChangesData> &data) const Utils::FilePath &filePath, const QSharedPointer<QmlJSRefactoringChangesData> &data)
: RefactoringFile(filePath, data) : RefactoringFile(filePath), m_data(data)
{ {
// the RefactoringFile is invalid if its not for a file with qml or js code // the RefactoringFile is invalid if its not for a file with qml or js code
if (ModelManagerInterface::guessLanguageOfFile(filePath) == Dialect::NoLanguage) if (ModelManagerInterface::guessLanguageOfFile(filePath) == Dialect::NoLanguage)
@@ -81,7 +81,7 @@ Document::Ptr QmlJSRefactoringFile::qmljsDocument() const
{ {
if (!m_qmljsDocument) { if (!m_qmljsDocument) {
const QString source = document()->toPlainText(); const QString source = document()->toPlainText();
const Snapshot &snapshot = data()->m_snapshot; const Snapshot &snapshot = m_data->m_snapshot;
Document::MutablePtr newDoc Document::MutablePtr newDoc
= snapshot.documentFromSource(source, = snapshot.documentFromSource(source,
@@ -139,16 +139,11 @@ bool QmlJSRefactoringFile::isCursorOn(SourceLocation loc) const
return pos >= loc.begin() && pos <= loc.end(); return pos >= loc.begin() && pos <= loc.end();
} }
QmlJSRefactoringChangesData *QmlJSRefactoringFile::data() const
{
return static_cast<QmlJSRefactoringChangesData *>(m_data.data());
}
void QmlJSRefactoringFile::fileChanged() void QmlJSRefactoringFile::fileChanged()
{ {
QTC_ASSERT(!m_filePath.isEmpty(), return); QTC_ASSERT(!m_filePath.isEmpty(), return);
m_qmljsDocument.clear(); m_qmljsDocument.clear();
data()->m_modelManager->updateSourceFiles({filePath()}, true); m_data->m_modelManager->updateSourceFiles({filePath()}, true);
} }
void QmlJSRefactoringFile::indentSelection(const QTextCursor &selection, void QmlJSRefactoringFile::indentSelection(const QTextCursor &selection,

View File

@@ -36,11 +36,9 @@ public:
private: private:
QmlJSRefactoringFile(const Utils::FilePath &filePath, QmlJSRefactoringFile(const Utils::FilePath &filePath,
const QSharedPointer<TextEditor::RefactoringChangesData> &data); const QSharedPointer<QmlJSRefactoringChangesData> &data);
QmlJSRefactoringFile(TextEditor::TextEditorWidget *editor, QmlJS::Document::Ptr document); QmlJSRefactoringFile(TextEditor::TextEditorWidget *editor, QmlJS::Document::Ptr document);
QmlJSRefactoringChangesData *data() const;
void fileChanged() override; void fileChanged() override;
void indentSelection(const QTextCursor &selection, void indentSelection(const QTextCursor &selection,
const TextEditor::TextDocument *textDocument) const override; const TextEditor::TextDocument *textDocument) const override;
@@ -48,6 +46,7 @@ private:
const TextEditor::TextDocument *textDocument) const override; const TextEditor::TextDocument *textDocument) const override;
mutable QmlJS::Document::Ptr m_qmljsDocument; mutable QmlJS::Document::Ptr m_qmljsDocument;
QSharedPointer<QmlJSRefactoringChangesData> m_data;
friend class QmlJSRefactoringChanges; friend class QmlJSRefactoringChanges;
}; };

View File

@@ -78,7 +78,7 @@ TextEditorWidget *RefactoringChanges::openEditor(const FilePath &filePath,
RefactoringFilePtr RefactoringChanges::file(const FilePath &filePath) const RefactoringFilePtr RefactoringChanges::file(const FilePath &filePath) const
{ {
return RefactoringFilePtr(new RefactoringFile(filePath, m_data)); return RefactoringFilePtr(new RefactoringFile(filePath));
} }
RefactoringFile::RefactoringFile(QTextDocument *document, const FilePath &filePath) RefactoringFile::RefactoringFile(QTextDocument *document, const FilePath &filePath)
@@ -91,10 +91,7 @@ RefactoringFile::RefactoringFile(TextEditorWidget *editor)
, m_editor(editor) , m_editor(editor)
{ } { }
RefactoringFile::RefactoringFile(const FilePath &filePath, RefactoringFile::RefactoringFile(const FilePath &filePath) : m_filePath(filePath)
const QSharedPointer<RefactoringChangesData> &data)
: m_filePath(filePath)
, m_data(data)
{ {
QList<IEditor *> editors = DocumentModel::editorsForFilePath(filePath); QList<IEditor *> editors = DocumentModel::editorsForFilePath(filePath);
if (!editors.isEmpty()) { if (!editors.isEmpty()) {
@@ -307,7 +304,7 @@ bool RefactoringFile::apply()
bool result = true; bool result = true;
// apply changes, if any // apply changes, if any
if (m_data && !(m_indentRanges.isEmpty() && m_changes.isEmpty())) { if (!m_indentRanges.isEmpty() || !m_changes.isEmpty()) {
QTextDocument *doc = mutableDocument(); QTextDocument *doc = mutableDocument();
if (doc) { if (doc) {
QTextCursor c = cursor(); QTextCursor c = cursor();

View File

@@ -68,8 +68,7 @@ protected:
RefactoringFile(QTextDocument *document, const Utils::FilePath &filePath); RefactoringFile(QTextDocument *document, const Utils::FilePath &filePath);
RefactoringFile(TextEditorWidget *editor); RefactoringFile(TextEditorWidget *editor);
RefactoringFile(const Utils::FilePath &filePath, RefactoringFile(const Utils::FilePath &filePath);
const QSharedPointer<RefactoringChangesData> &data);
QTextDocument *mutableDocument() const; QTextDocument *mutableDocument() const;
@@ -88,7 +87,6 @@ protected:
const TextDocument *textDocument) const; const TextDocument *textDocument) const;
Utils::FilePath m_filePath; Utils::FilePath m_filePath;
QSharedPointer<RefactoringChangesData> m_data;
mutable Utils::TextFileFormat m_textFileFormat; mutable Utils::TextFileFormat m_textFileFormat;
mutable QTextDocument *m_document = nullptr; mutable QTextDocument *m_document = nullptr;
TextEditorWidget *m_editor = nullptr; TextEditorWidget *m_editor = nullptr;