RFR: 8247546: Pattern matching does not skip correctly over supplementary characters

naoto.sato at oracle.com naoto.sato at oracle.com
Mon Jul 27 18:51:02 UTC 2020


Hi,

Please review the fix to the following issue:

https://bugs.openjdk.java.net/browse/JDK-8247546

The proposed changeset is located at:

https://cr.openjdk.java.net/~naoto/8247546/webrev.00/

On compiling the regex pattern, the start node is chosen based on the 
pattern, i.e, whether it involves supplementary processing or not. On 
deciding which implementation to use, surrogates were not taken into 
consideration, which leads to the issue in the bug report. The proposed 
fix is to make it aware of surrogates, and choose the correct 
supplementary-aware implementation for the start node.

Apart from the original issue, there was a bug in Range() method 
(Pattern.java:5795), so it is fixed along.

Naoto


More information about the core-libs-dev mailing list