aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/differ.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/utils/differ.cpp')
-rw-r--r--src/libs/utils/differ.cpp177
1 files changed, 88 insertions, 89 deletions
diff --git a/src/libs/utils/differ.cpp b/src/libs/utils/differ.cpp
index 9dc2ce8454..f929efbeeb 100644
--- a/src/libs/utils/differ.cpp
+++ b/src/libs/utils/differ.cpp
@@ -24,8 +24,8 @@ namespace Utils {
static int commonPrefix(const QString &text1, const QString &text2)
{
int i = 0;
- const int text1Count = text1.count();
- const int text2Count = text2.count();
+ const int text1Count = text1.size();
+ const int text2Count = text2.size();
const int maxCount = qMin(text1Count, text2Count);
while (i < maxCount) {
if (text1.at(i) != text2.at(i))
@@ -38,8 +38,8 @@ static int commonPrefix(const QString &text1, const QString &text2)
static int commonSuffix(const QString &text1, const QString &text2)
{
int i = 0;
- const int text1Count = text1.count();
- const int text2Count = text2.count();
+ const int text1Count = text1.size();
+ const int text2Count = text2.size();
const int maxCount = qMin(text1Count, text2Count);
while (i < maxCount) {
if (text1.at(text1Count - i - 1) != text2.at(text2Count - i - 1))
@@ -52,8 +52,8 @@ static int commonSuffix(const QString &text1, const QString &text2)
static int commonOverlap(const QString &text1, const QString &text2)
{
int i = 0;
- const int text1Count = text1.count();
- const int text2Count = text2.count();
+ const int text1Count = text1.size();
+ const int text2Count = text2.size();
const int maxCount = qMin(text1Count, text2Count);
while (i < maxCount) {
if (QStringView(text1).mid(text1Count - maxCount + i) == QStringView(text2).left(maxCount - i))
@@ -66,7 +66,7 @@ static int commonOverlap(const QString &text1, const QString &text2)
static QList<Diff> decode(const QList<Diff> &diffList, const QStringList &lines)
{
QList<Diff> newDiffList;
- newDiffList.reserve(diffList.count());
+ newDiffList.reserve(diffList.size());
for (const Diff &diff : diffList) {
QString text;
for (QChar c : diff.text) {
@@ -80,7 +80,7 @@ static QList<Diff> decode(const QList<Diff> &diffList, const QStringList &lines)
static QList<Diff> squashEqualities(const QList<Diff> &diffList)
{
- if (diffList.count() < 3) // we need at least 3 items
+ if (diffList.size() < 3) // we need at least 3 items
return diffList;
QList<Diff> newDiffList;
@@ -88,20 +88,20 @@ static QList<Diff> squashEqualities(const QList<Diff> &diffList)
Diff thisDiff = diffList.at(1);
Diff nextDiff = diffList.at(2);
int i = 2;
- while (i < diffList.count()) {
+ while (i < diffList.size()) {
if (prevDiff.command == Diff::Equal
&& nextDiff.command == Diff::Equal) {
if (thisDiff.text.endsWith(prevDiff.text)) {
thisDiff.text = prevDiff.text
- + thisDiff.text.left(thisDiff.text.count()
- - prevDiff.text.count());
+ + thisDiff.text.left(thisDiff.text.size()
+ - prevDiff.text.size());
nextDiff.text = prevDiff.text + nextDiff.text;
} else if (thisDiff.text.startsWith(nextDiff.text)) {
prevDiff.text += nextDiff.text;
- thisDiff.text = thisDiff.text.mid(nextDiff.text.count())
+ thisDiff.text = thisDiff.text.mid(nextDiff.text.size())
+ nextDiff.text;
i++;
- if (i < diffList.count())
+ if (i < diffList.size())
nextDiff = diffList.at(i);
newDiffList.append(prevDiff);
} else {
@@ -113,11 +113,11 @@ static QList<Diff> squashEqualities(const QList<Diff> &diffList)
prevDiff = thisDiff;
thisDiff = nextDiff;
i++;
- if (i < diffList.count())
+ if (i < diffList.size())
nextDiff = diffList.at(i);
}
newDiffList.append(prevDiff);
- if (i == diffList.count())
+ if (i == diffList.size())
newDiffList.append(thisDiff);
return newDiffList;
}
@@ -132,9 +132,9 @@ static QList<Diff> cleanupOverlaps(const QList<Diff> &diffList)
// DEL(XXXXABC), INS(DEFXXXX) -> INS(DEF), EQ(XXXX), DEL(ABC)
QList<Diff> newDiffList;
int i = 0;
- while (i < diffList.count()) {
+ while (i < diffList.size()) {
Diff thisDiff = diffList.at(i);
- Diff nextDiff = i < diffList.count() - 1
+ Diff nextDiff = i < diffList.size() - 1
? diffList.at(i + 1)
: Diff(Diff::Equal);
if (thisDiff.command == Diff::Delete
@@ -142,9 +142,9 @@ static QList<Diff> cleanupOverlaps(const QList<Diff> &diffList)
const int delInsOverlap = commonOverlap(thisDiff.text, nextDiff.text);
const int insDelOverlap = commonOverlap(nextDiff.text, thisDiff.text);
if (delInsOverlap >= insDelOverlap) {
- if (delInsOverlap > thisDiff.text.count() / 2
- || delInsOverlap > nextDiff.text.count() / 2) {
- thisDiff.text = thisDiff.text.left(thisDiff.text.count() - delInsOverlap);
+ if (delInsOverlap > thisDiff.text.size() / 2
+ || delInsOverlap > nextDiff.text.size() / 2) {
+ thisDiff.text = thisDiff.text.left(thisDiff.text.size() - delInsOverlap);
const Diff equality(Diff::Equal, nextDiff.text.left(delInsOverlap));
nextDiff.text = nextDiff.text.mid(delInsOverlap);
newDiffList.append(thisDiff);
@@ -155,9 +155,9 @@ static QList<Diff> cleanupOverlaps(const QList<Diff> &diffList)
newDiffList.append(nextDiff);
}
} else {
- if (insDelOverlap > thisDiff.text.count() / 2
- || insDelOverlap > nextDiff.text.count() / 2) {
- nextDiff.text = nextDiff.text.left(nextDiff.text.count() - insDelOverlap);
+ if (insDelOverlap > thisDiff.text.size() / 2
+ || insDelOverlap > nextDiff.text.size() / 2) {
+ nextDiff.text = nextDiff.text.left(nextDiff.text.size() - insDelOverlap);
const Diff equality(Diff::Equal, thisDiff.text.left(insDelOverlap));
thisDiff.text = thisDiff.text.mid(insDelOverlap);
newDiffList.append(nextDiff);
@@ -186,7 +186,7 @@ static int cleanupSemanticsScore(const QString &text1, const QString &text2)
if (text1.isEmpty() || text2.isEmpty()) // Edges
return 6;
- const QChar char1 = text1[text1.count() - 1];
+ const QChar char1 = text1[text1.size() - 1];
const QChar char2 = text2[0];
const bool nonAlphaNumeric1 = !char1.isLetterOrNumber();
const bool nonAlphaNumeric2 = !char2.isLetterOrNumber();
@@ -256,19 +256,19 @@ QList<Diff> Differ::moveWhitespaceIntoEqualities(const QList<Diff> &input)
{
QList<Diff> output = input;
- for (int i = 0; i < output.count(); i++) {
+ for (int i = 0; i < output.size(); i++) {
Diff diff = output[i];
if (diff.command != Diff::Equal) {
if (i > 0) { // check previous equality
Diff &previousDiff = output[i - 1];
- const int previousDiffCount = previousDiff.text.count();
+ const int previousDiffCount = previousDiff.text.size();
if (previousDiff.command == Diff::Equal
&& previousDiffCount
&& isWhitespace(previousDiff.text.at(previousDiffCount - 1))) {
// previous diff ends with whitespace
int j = 0;
- while (j < diff.text.count()) {
+ while (j < diff.text.size()) {
if (!isWhitespace(diff.text.at(j)))
break;
++j;
@@ -280,10 +280,10 @@ QList<Diff> Differ::moveWhitespaceIntoEqualities(const QList<Diff> &input)
}
}
}
- if (i < output.count() - 1) { // check next equality
- const int diffCount = diff.text.count();
+ if (i < output.size() - 1) { // check next equality
+ const int diffCount = diff.text.size();
Diff &nextDiff = output[i + 1];
- const int nextDiffCount = nextDiff.text.count();
+ const int nextDiffCount = nextDiff.text.size();
if (nextDiff.command == Diff::Equal
&& nextDiffCount
&& (isWhitespace(nextDiff.text.at(0)) || isNewLine(nextDiff.text.at(0)))) {
@@ -331,7 +331,7 @@ static QString encodeReducedWhitespace(const QString &input,
int inputIndex = 0;
int outputIndex = 0;
- while (inputIndex < input.count()) {
+ while (inputIndex < input.size()) {
QChar c = input.at(inputIndex);
if (isWhitespace(c)) {
@@ -339,7 +339,7 @@ static QString encodeReducedWhitespace(const QString &input,
codeMap->insert(outputIndex, QString(c));
++inputIndex;
- while (inputIndex < input.count()) {
+ while (inputIndex < input.size()) {
QChar reducedChar = input.at(inputIndex);
if (!isWhitespace(reducedChar))
@@ -372,10 +372,10 @@ static QList<Diff> decodeReducedWhitespace(const QList<Diff> &input,
auto it = codeMap.constBegin();
const auto itEnd = codeMap.constEnd();
for (Diff diff : input) {
- const int diffCount = diff.text.count();
+ const int diffCount = diff.text.size();
while ((it != itEnd) && (it.key() < counter + diffCount)) {
const int reversePosition = diffCount + counter - it.key();
- const int updatedDiffCount = diff.text.count();
+ const int updatedDiffCount = diff.text.size();
diff.text.replace(updatedDiffCount - reversePosition, 1, it.value());
++it;
}
@@ -502,8 +502,8 @@ static QString encodeExpandedWhitespace(const QString &leftEquality,
rightCodeMap->clear();
QString output;
- const int leftCount = leftEquality.count();
- const int rightCount = rightEquality.count();
+ const int leftCount = leftEquality.size();
+ const int rightCount = rightEquality.size();
int leftIndex = 0;
int rightIndex = 0;
while (leftIndex < leftCount && rightIndex < rightCount) {
@@ -534,8 +534,8 @@ static QString encodeExpandedWhitespace(const QString &leftEquality,
}
if (!leftWhitespaces.isEmpty() && !rightWhitespaces.isEmpty()) {
- const int replacementPosition = output.count();
- const int replacementSize = qMax(leftWhitespaces.count(), rightWhitespaces.count());
+ const int replacementPosition = output.size();
+ const int replacementSize = qMax(leftWhitespaces.size(), rightWhitespaces.size());
const QString replacement(replacementSize, ' ');
leftCodeMap->insert(replacementPosition, {replacementSize, leftWhitespaces});
rightCodeMap->insert(replacementPosition, {replacementSize, rightWhitespaces});
@@ -574,14 +574,14 @@ static QList<Diff> decodeExpandedWhitespace(const QList<Diff> &input,
auto it = codeMap.constBegin();
const auto itEnd = codeMap.constEnd();
for (Diff diff : input) {
- const int diffCount = diff.text.count();
+ const int diffCount = diff.text.size();
while ((it != itEnd) && (it.key() < counter + diffCount)) {
const int replacementSize = it.value().first;
const int reversePosition = diffCount + counter - it.key();
if (reversePosition < replacementSize)
return QList<Diff>(); // replacement exceeds one Diff
const QString replacement = it.value().second;
- const int updatedDiffCount = diff.text.count();
+ const int updatedDiffCount = diff.text.size();
diff.text.replace(updatedDiffCount - reversePosition,
replacementSize, replacement);
++it;
@@ -619,8 +619,8 @@ static bool diffWithWhitespaceExpandedInEqualities(const QList<Diff> &leftInput,
leftOutput->clear();
rightOutput->clear();
- const int leftCount = leftInput.count();
- const int rightCount = rightInput.count();
+ const int leftCount = leftInput.size();
+ const int rightCount = rightInput.size();
int l = 0;
int r = 0;
@@ -649,10 +649,10 @@ static bool diffWithWhitespaceExpandedInEqualities(const QList<Diff> &leftInput,
// join code map positions with common maps
for (auto it = leftCodeMap.cbegin(), end = leftCodeMap.cend(); it != end; ++it)
- commonLeftCodeMap.insert(leftText.count() + it.key(), it.value());
+ commonLeftCodeMap.insert(leftText.size() + it.key(), it.value());
for (auto it = rightCodeMap.cbegin(), end = rightCodeMap.cend(); it != end; ++it)
- commonRightCodeMap.insert(rightText.count() + it.key(), it.value());
+ commonRightCodeMap.insert(rightText.size() + it.key(), it.value());
leftText.append(commonEquality);
rightText.append(commonEquality);
@@ -739,8 +739,8 @@ void Differ::ignoreWhitespaceBetweenEqualities(const QList<Diff> &leftInput,
leftOutput->clear();
rightOutput->clear();
- const int leftCount = leftInput.count();
- const int rightCount = rightInput.count();
+ const int leftCount = leftInput.size();
+ const int rightCount = rightInput.size();
int l = 0;
int r = 0;
@@ -836,8 +836,8 @@ void Differ::diffBetweenEqualities(const QList<Diff> &leftInput,
leftOutput->clear();
rightOutput->clear();
- const int leftCount = leftInput.count();
- const int rightCount = rightInput.count();
+ const int leftCount = leftInput.size();
+ const int rightCount = rightInput.size();
int l = 0;
int r = 0;
@@ -1000,8 +1000,8 @@ QList<Diff> Differ::preprocess1AndDiff(const QString &text1, const QString &text
const int suffixCount = commonSuffix(newText1, newText2);
if (suffixCount) {
suffix = newText1.right(suffixCount);
- newText1 = newText1.left(newText1.count() - suffixCount);
- newText2 = newText2.left(newText2.count() - suffixCount);
+ newText1 = newText1.left(newText1.size() - suffixCount);
+ newText2 = newText2.left(newText2.size() - suffixCount);
}
QList<Diff> diffList = preprocess2AndDiff(newText1, newText2);
if (prefixCount)
@@ -1025,28 +1025,27 @@ QList<Diff> Differ::preprocess2AndDiff(const QString &text1, const QString &text
return diffList;
}
- if (text1.count() != text2.count())
- {
- const QString longtext = text1.count() > text2.count() ? text1 : text2;
- const QString shorttext = text1.count() > text2.count() ? text2 : text1;
+ if (text1.size() != text2.size()) {
+ const QString longtext = text1.size() > text2.size() ? text1 : text2;
+ const QString shorttext = text1.size() > text2.size() ? text2 : text1;
const int i = longtext.indexOf(shorttext);
if (i != -1) {
- const Diff::Command command = (text1.count() > text2.count())
+ const Diff::Command command = (text1.size() > text2.size())
? Diff::Delete : Diff::Insert;
diffList.append(Diff(command, longtext.left(i)));
diffList.append(Diff(Diff::Equal, shorttext));
- diffList.append(Diff(command, longtext.mid(i + shorttext.count())));
+ diffList.append(Diff(command, longtext.mid(i + shorttext.size())));
return diffList;
}
- if (shorttext.count() == 1) {
+ if (shorttext.size() == 1) {
diffList.append(Diff(Diff::Delete, text1));
diffList.append(Diff(Diff::Insert, text2));
return diffList;
}
}
- if (m_currentDiffMode != Differ::CharMode && text1.count() > 80 && text2.count() > 80)
+ if (m_currentDiffMode != Differ::CharMode && text1.size() > 80 && text2.size() > 80)
return diffNonCharMode(text1, text2);
return diffMyers(text1, text2);
@@ -1054,8 +1053,8 @@ QList<Diff> Differ::preprocess2AndDiff(const QString &text1, const QString &text
QList<Diff> Differ::diffMyers(const QString &text1, const QString &text2)
{
- const int n = text1.count();
- const int m = text2.count();
+ const int n = text1.size();
+ const int m = text2.size();
const bool odd = (n + m) % 2;
const int D = odd ? (n + m) / 2 + 1 : (n + m) / 2;
const int delta = n - m;
@@ -1191,12 +1190,12 @@ QList<Diff> Differ::diffNonCharMode(const QString &text1, const QString &text2)
QString lastDelete;
QString lastInsert;
QList<Diff> newDiffList;
- for (int i = 0; i <= diffList.count(); i++) {
+ for (int i = 0; i <= diffList.size(); i++) {
if (m_future && m_future->isCanceled()) {
m_currentDiffMode = diffMode;
return {};
}
- const Diff diffItem = i < diffList.count()
+ const Diff diffItem = i < diffList.size()
? diffList.at(i)
: Diff(Diff::Equal); // dummy, ensure we process to the end
// even when diffList doesn't end with equality
@@ -1240,14 +1239,14 @@ int Differ::findSubtextEnd(const QString &text,
if (m_currentDiffMode == Differ::LineMode) {
int subtextEnd = text.indexOf('\n', subtextStart);
if (subtextEnd == -1)
- subtextEnd = text.count() - 1;
+ subtextEnd = text.size() - 1;
return ++subtextEnd;
} else if (m_currentDiffMode == Differ::WordMode) {
if (!text.at(subtextStart).isLetter())
return subtextStart + 1;
int i = subtextStart + 1;
- const int count = text.count();
+ const int count = text.size();
while (i < count && text.at(i).isLetter())
i++;
return i;
@@ -1262,7 +1261,7 @@ QString Differ::encode(const QString &text,
int subtextStart = 0;
int subtextEnd = -1;
QString codes;
- while (subtextEnd < text.count()) {
+ while (subtextEnd < text.size()) {
subtextEnd = findSubtextEnd(text, subtextStart);
const QString line = text.mid(subtextStart, subtextEnd - subtextStart);
subtextStart = subtextEnd;
@@ -1271,8 +1270,8 @@ QString Differ::encode(const QString &text,
codes += QChar(static_cast<ushort>(lineToCode->value(line)));
} else {
lines->append(line);
- lineToCode->insert(line, lines->count() - 1);
- codes += QChar(static_cast<ushort>(lines->count() - 1));
+ lineToCode->insert(line, lines->size() - 1);
+ codes += QChar(static_cast<ushort>(lines->size() - 1));
}
}
return codes;
@@ -1283,8 +1282,8 @@ QList<Diff> Differ::merge(const QList<Diff> &diffList)
QString lastDelete;
QString lastInsert;
QList<Diff> newDiffList;
- for (int i = 0; i <= diffList.count(); i++) {
- Diff diff = i < diffList.count()
+ for (int i = 0; i <= diffList.size(); i++) {
+ Diff diff = i < diffList.size()
? diffList.at(i)
: Diff(Diff::Equal); // dummy, ensure we process to the end
// even when diffList doesn't end with equality
@@ -1314,8 +1313,8 @@ QList<Diff> Differ::merge(const QList<Diff> &diffList)
const int suffixCount = commonSuffix(lastDelete, lastInsert);
if (suffixCount) {
const QString suffix = lastDelete.right(suffixCount);
- lastDelete = lastDelete.left(lastDelete.count() - suffixCount);
- lastInsert = lastInsert.left(lastInsert.count() - suffixCount);
+ lastDelete = lastDelete.left(lastDelete.size() - suffixCount);
+ lastInsert = lastInsert.left(lastInsert.size() - suffixCount);
diff.text.prepend(suffix);
}
@@ -1342,7 +1341,7 @@ QList<Diff> Differ::merge(const QList<Diff> &diffList)
}
QList<Diff> squashedDiffList = squashEqualities(newDiffList);
- if (squashedDiffList.count() != newDiffList.count())
+ if (squashedDiffList.size() != newDiffList.size())
return merge(squashedDiffList);
return squashedDiffList;
@@ -1363,8 +1362,8 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList)
int inserts = 0;
// equality index, equality data
QList<EqualityData> equalities;
- for (int i = 0; i <= diffList.count(); i++) {
- const Diff diff = i < diffList.count()
+ for (int i = 0; i <= diffList.size(); i++) {
+ const Diff diff = i < diffList.size()
? diffList.at(i)
: Diff(Diff::Equal); // dummy, ensure we process to the end
// even when diffList doesn't end with equality
@@ -1374,10 +1373,10 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList)
previousData.deletesAfter = deletes;
previousData.insertsAfter = inserts;
}
- if (i < diffList.count()) { // don't insert dummy
+ if (i < diffList.size()) { // don't insert dummy
EqualityData data;
data.equalityIndex = i;
- data.textCount = diff.text.count();
+ data.textCount = diff.text.size();
data.deletesBefore = deletes;
data.insertsBefore = inserts;
equalities.append(data);
@@ -1386,15 +1385,15 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList)
}
} else {
if (diff.command == Diff::Delete)
- deletes += diff.text.count();
+ deletes += diff.text.size();
else if (diff.command == Diff::Insert)
- inserts += diff.text.count();
+ inserts += diff.text.size();
}
}
QMap<int, bool> equalitiesToBeSplit;
int i = 0;
- while (i < equalities.count()) {
+ while (i < equalities.size()) {
const EqualityData &data = equalities.at(i);
if (data.textCount <= qMax(data.deletesBefore, data.insertsBefore)
&& data.textCount <= qMax(data.deletesAfter, data.insertsAfter)) {
@@ -1403,7 +1402,7 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList)
previousData.deletesAfter += data.textCount + data.deletesAfter;
previousData.insertsAfter += data.textCount + data.insertsAfter;
}
- if (i < equalities.count() - 1) {
+ if (i < equalities.size() - 1) {
EqualityData &nextData = equalities[i + 1];
nextData.deletesBefore += data.textCount + data.deletesBefore;
nextData.insertsBefore += data.textCount + data.insertsBefore;
@@ -1418,7 +1417,7 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList)
}
QList<Diff> newDiffList;
- for (int i = 0; i < diffList.count(); i++) {
+ for (int i = 0; i < diffList.size(); i++) {
const Diff &diff = diffList.at(i);
if (equalitiesToBeSplit.contains(i)) {
newDiffList.append(Diff(Diff::Delete, diff.text));
@@ -1433,7 +1432,7 @@ QList<Diff> Differ::cleanupSemantics(const QList<Diff> &diffList)
QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList)
{
- if (diffList.count() < 3) // we need at least 3 items
+ if (diffList.size() < 3) // we need at least 3 items
return diffList;
QList<Diff> newDiffList;
@@ -1441,7 +1440,7 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList)
Diff thisDiff = diffList.at(1);
Diff nextDiff = diffList.at(2);
int i = 2;
- while (i < diffList.count()) {
+ while (i < diffList.size()) {
if (prevDiff.command == Diff::Equal
&& nextDiff.command == Diff::Equal) {
@@ -1453,9 +1452,9 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList)
// Shift the edit as far left as possible
const int suffixCount = commonSuffix(equality1, edit);
if (suffixCount) {
- const QString commonString = edit.mid(edit.count() - suffixCount);
- equality1 = equality1.left(equality1.count() - suffixCount);
- edit = commonString + edit.left(edit.count() - suffixCount);
+ const QString commonString = edit.mid(edit.size() - suffixCount);
+ equality1 = equality1.left(equality1.size() - suffixCount);
+ edit = commonString + edit.left(edit.size() - suffixCount);
equality2 = commonString + equality2;
}
@@ -1488,7 +1487,7 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList)
newDiffList.append(prevDiff); // append modified equality1
if (bestEquality2.isEmpty()) {
i++;
- if (i < diffList.count())
+ if (i < diffList.size())
nextDiff = diffList.at(i); // omit equality2
}
} else {
@@ -1497,11 +1496,11 @@ QList<Diff> Differ::cleanupSemanticsLossless(const QList<Diff> &diffList)
prevDiff = thisDiff;
thisDiff = nextDiff;
i++;
- if (i < diffList.count())
+ if (i < diffList.size())
nextDiff = diffList.at(i);
}
newDiffList.append(prevDiff);
- if (i == diffList.count())
+ if (i == diffList.size())
newDiffList.append(thisDiff);
return newDiffList;
}