On Thu, 25 Aug 2022 03:52:48 GMT, Stuart Marks <sma...@openjdk.org> wrote:

>> This is to enhance the character break analysis in `java.text.BreakIterator` 
>> to conform to the extended grapheme cluster boundaries defined in 
>> https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries. A 
>> corresponding CSR has also been drafted, as there will be behavioral changes 
>> with this modification.
>
> src/java.base/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java
>  line 258:
> 
>> 256:                     .filter(i -> boundaries.get(i) > offset)
>> 257:                     .findFirst()
>> 258:                     .orElse(boundaries.size() - 1);
> 
> Is it worth trying to use Collections.binarySearch() here? I think the 
> boundaries list is in ascending sorted order, so you might be able to drop in 
> a binarySearch() call directly. (Need to be a bit careful with negative 
> return values.)

Will replace this with `Collections.binarySearch()`.

> test/jdk/java/util/regex/whitebox/GraphemeTest.java line 30:
> 
>> 28:  * @library /lib/testlibrary/java/lang
>> 29:  * @compile --add-exports java.base/jdk.internal.util.regex=ALL-UNNAMED 
>> GraphemeTest.java
>> 30:  * @run testng/othervm --add-exports 
>> java.base/jdk.internal.util.regex=ALL-UNNAMED --add-opens 
>> java.base/jdk.internal.util.regex=ALL-UNNAMED GraphemeTest
> 
> Can you use the `@modules` directive to export+open the internal module to 
> the test?

Good point. Will use `@modules` tag.

-------------

PR: https://git.openjdk.org/jdk/pull/9991

Reply via email to