10#include <komparediffdebug.h>
14DiffHunk::DiffHunk(
int sourceLine,
int destinationLine,
const QString& function, Type type) :
15 m_sourceLine(sourceLine),
16 m_destinationLine(destinationLine),
28 m_differences.
append(diff);
31int DiffHunk::sourceLineCount()
const
33 DifferenceListConstIterator diffIt = m_differences.
begin();
34 DifferenceListConstIterator dEnd = m_differences.
end();
38 for (; diffIt != dEnd; ++diffIt)
39 lineCount += (*diffIt)->sourceLineCount();
44int DiffHunk::destinationLineCount()
const
46 DifferenceListConstIterator diffIt = m_differences.
begin();
47 DifferenceListConstIterator dEnd = m_differences.
end();
51 for (; diffIt != dEnd; ++diffIt)
52 lineCount += (*diffIt)->destinationLineCount();
57QString DiffHunk::recreateHunk()
const
63 DifferenceListConstIterator diffIt = m_differences.
begin();
64 DifferenceListConstIterator dEnd = m_differences.
end();
68 for (; diffIt != dEnd; ++diffIt)
70 switch ((*diffIt)->type())
72 case Difference::Unchanged:
73 case Difference::Change:
74 slc += (*diffIt)->sourceLineCount();
75 dlc += (*diffIt)->destinationLineCount();
77 case Difference::Insert:
78 dlc += (*diffIt)->destinationLineCount();
80 case Difference::Delete:
81 slc += (*diffIt)->sourceLineCount();
84 differences += (*diffIt)->recreateDifference();
88 hunk += QStringLiteral(
"@@ -%1,%3 +%2,%4 @@")
90 .
arg(m_destinationLine)
101 qCDebug(LIBKOMPAREDIFF2) << hunk;
Type type(const QSqlDatabase &db)
void append(QList< T > &&value)
QString arg(Args &&... args) const const
bool isEmpty() const const