diff options
Diffstat (limited to 'deps/icu-small/source/common/edits.cpp')
-rw-r--r-- | deps/icu-small/source/common/edits.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/deps/icu-small/source/common/edits.cpp b/deps/icu-small/source/common/edits.cpp index 9ec005624f..3b3611fcf8 100644 --- a/deps/icu-small/source/common/edits.cpp +++ b/deps/icu-small/source/common/edits.cpp @@ -4,10 +4,12 @@ // edits.cpp // created: 2017feb08 Markus W. Scherer -#include "unicode/utypes.h" #include "unicode/edits.h" +#include "unicode/unistr.h" +#include "unicode/utypes.h" #include "cmemory.h" #include "uassert.h" +#include "util.h" U_NAMESPACE_BEGIN @@ -773,4 +775,29 @@ int32_t Edits::Iterator::sourceIndexFromDestinationIndex(int32_t i, UErrorCode & } } +UnicodeString& Edits::Iterator::toString(UnicodeString& sb) const { + sb.append(u"{ src[", -1); + ICU_Utility::appendNumber(sb, srcIndex); + sb.append(u"..", -1); + ICU_Utility::appendNumber(sb, srcIndex + oldLength_); + if (changed) { + sb.append(u"] ⇝ dest[", -1); + } else { + sb.append(u"] ≡ dest[", -1); + } + ICU_Utility::appendNumber(sb, destIndex); + sb.append(u"..", -1); + ICU_Utility::appendNumber(sb, destIndex + newLength_); + if (changed) { + sb.append(u"], repl[", -1); + ICU_Utility::appendNumber(sb, replIndex); + sb.append(u"..", -1); + ICU_Utility::appendNumber(sb, replIndex + newLength_); + sb.append(u"] }", -1); + } else { + sb.append(u"] (no-change) }", -1); + } + return sb; +} + U_NAMESPACE_END |