Thanks Roger!

I have pulled those regex changes together at

http://cr.openjdk.java.net/~sherman/regexBackTrack.Lamnda.CanonEQ/webrev

So I'm updating the responding change there.

On 03/18/2016 10:03 AM, Roger Riggs wrote:
Hi Sherman,

A few comments:

src/java.base/share/classes/java/util/regex/CharPredicates.java:

- The static fields like ALPHABETIC should be final
- line: 139/140 the posix and uprops HashMaps could have an initializer for 
size to avoid resizing (12 and 18):
- 224: typo: "categoreis"
- 232: double space: "return  props.get"


Updated. I'm making the CharPredicates class final.


- Remove debugging prints to "PrintPattern.pmap..." before commit

Removed (it's convenient to have them there to just comment in for debugging)

- 288: can you resort "Pf" and "Pi" to be with the other P<x> entries; maybe 
sort the whole list.


Those on the top with single-line-def are sorted/listed by the order of their 
types defined
in Character.java.

- 305: Is the definition of "C" missing the equivalent of "Cn" unassigned or is 
that an intentional difference?


My memory can't tell, but I would assume it was an "intentional" difference. I
will dig a little deep to see if it's the update of the spec. This has not be 
touched
for a long time, I'm not sure if it can be easily put back, if it's NOT 
intentional.


-323:  "LD" the definition of LD is not in the reference  (is it specified 
somewhere?)

It's the letter-and-digit. looks like a "home-made" one. Again, not sure if this
was in the spec in the old day. And, don't think we can just remove it.


-333: the referenced spec defines the names of the character classes but not 
the contents; are they elsewhere?

http://www.unicode.org/reports/tr44/
5.7.1 General Category Values


-374: add "final" to static declarations

Updated the whole class to final.


Pattern.java:
-2651: stray trailing "{"  after comment
-2746: indentation of arguments

Updated

-5493: javadoc the description of Predicate interface and implementations


-5637: if you want it to be the first initializer put it at the top of the 
file, not buried at the end.
   and make them final.


The "original" comment is a little "misleading. The Pattern class itself is 
final though.

That's a start, I need to look a bit more closely at the algorithmic change 
that prompted the fix.


thanks! I have also asked Masayoshi to help review the canonical-equivalents 
part.

Sherman

Reply via email to