patch ICU-20991 Trace BreakIterator/BreakEngine creation
Bug: 1062057
Change-Id: I987d2c32927a76409fccabcd32496e56dc27f69c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2106514
Reviewed-by: Jungshik Shin <jshin@chromium.org>
diff --git a/source/common/brkiter.cpp b/source/common/brkiter.cpp
index 3d1366a..b9b6ca6 100644
--- a/source/common/brkiter.cpp
+++ b/source/common/brkiter.cpp
@@ -38,6 +38,7 @@
#include "uresimp.h"
#include "uassert.h"
#include "ubrkimpl.h"
+#include "utracimp.h"
#include "charstr.h"
// *****************************************************************************
@@ -412,14 +413,23 @@
BreakIterator *result = NULL;
switch (kind) {
case UBRK_CHARACTER:
- result = BreakIterator::buildInstance(loc, "grapheme", status);
+ {
+ UTRACE_ENTRY(UTRACE_UBRK_CREATE_CHARACTER);
+ result = BreakIterator::buildInstance(loc, "grapheme", status);
+ UTRACE_EXIT_STATUS(status);
+ }
break;
case UBRK_WORD:
- result = BreakIterator::buildInstance(loc, "word", status);
+ {
+ UTRACE_ENTRY(UTRACE_UBRK_CREATE_WORD);
+ result = BreakIterator::buildInstance(loc, "word", status);
+ UTRACE_EXIT_STATUS(status);
+ }
break;
case UBRK_LINE:
- uprv_strcpy(lbType, "line");
{
+ UTRACE_ENTRY(UTRACE_UBRK_CREATE_LINE);
+ uprv_strcpy(lbType, "line");
char lbKeyValue[kKeyValueLenMax] = {0};
UErrorCode kvStatus = U_ZERO_ERROR;
int32_t kLen = loc.getKeywordValue("lb", lbKeyValue, kKeyValueLenMax, kvStatus);
@@ -427,13 +437,17 @@
uprv_strcat(lbType, "_");
uprv_strcat(lbType, lbKeyValue);
}
+ result = BreakIterator::buildInstance(loc, lbType, status);
+
+ UTRACE_DATA1(UTRACE_INFO, "lb=%s", lbKeyValue);
+ UTRACE_EXIT_STATUS(status);
}
- result = BreakIterator::buildInstance(loc, lbType, status);
break;
case UBRK_SENTENCE:
- result = BreakIterator::buildInstance(loc, "sentence", status);
-#if !UCONFIG_NO_FILTERED_BREAK_ITERATION
{
+ UTRACE_ENTRY(UTRACE_UBRK_CREATE_SENTENCE);
+ result = BreakIterator::buildInstance(loc, "sentence", status);
+#if !UCONFIG_NO_FILTERED_BREAK_ITERATION
char ssKeyValue[kKeyValueLenMax] = {0};
UErrorCode kvStatus = U_ZERO_ERROR;
int32_t kLen = loc.getKeywordValue("ss", ssKeyValue, kKeyValueLenMax, kvStatus);
@@ -444,11 +458,16 @@
delete fbiBuilder;
}
}
- }
#endif
+ UTRACE_EXIT_STATUS(status);
+ }
break;
case UBRK_TITLE:
- result = BreakIterator::buildInstance(loc, "title", status);
+ {
+ UTRACE_ENTRY(UTRACE_UBRK_CREATE_TITLE);
+ result = BreakIterator::buildInstance(loc, "title", status);
+ UTRACE_EXIT_STATUS(status);
+ }
break;
default:
status = U_ILLEGAL_ARGUMENT_ERROR;