summaryrefslogtreecommitdiff
path: root/src/plugins/clangtools/clangfixitsrefactoringchanges.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/clangtools/clangfixitsrefactoringchanges.h')
-rw-r--r--src/plugins/clangtools/clangfixitsrefactoringchanges.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/clangtools/clangfixitsrefactoringchanges.h b/src/plugins/clangtools/clangfixitsrefactoringchanges.h
index c19d14aa02..1ca809f4e7 100644
--- a/src/plugins/clangtools/clangfixitsrefactoringchanges.h
+++ b/src/plugins/clangtools/clangfixitsrefactoringchanges.h
@@ -41,6 +41,7 @@ public:
int pos = -1;
int length = -1;
QString text;
+ QString fileName;
bool apply = false;
};
using ReplacementOperations = QVector<ReplacementOperation *>;
@@ -52,20 +53,21 @@ class FixitsRefactoringFile
public:
FixitsRefactoringFile() = default;
FixitsRefactoringFile(const QString &filePath) : m_filePath(filePath) {}
+ ~FixitsRefactoringFile() { qDeleteAll(m_documents); }
bool isValid() const { return !m_filePath.isEmpty(); }
- int position(unsigned line, unsigned column) const;
+ int position(const QString &filePath, unsigned line, unsigned column) const;
void setReplacements(const ReplacementOperations &ops) { m_replacementOperations = ops; }
bool apply();
private:
- QTextDocument *document() const;
+ QTextDocument *document(const QString &filePath) const;
void shiftAffectedReplacements(const ReplacementOperation &op, int startIndex);
QString m_filePath;
mutable Utils::TextFileFormat m_textFileFormat;
- mutable QTextDocument *m_document = nullptr;
+ mutable QHash<QString, QTextDocument *> m_documents;
ReplacementOperations m_replacementOperations; // Not owned.
};