Hi, Minor improvement in readability (and probably perf) for Pattern. Switch is more consistent with the rest of the impl and the resulting tableswitch avoids a comparison for possessives.
-Isaac --- a/src/java.base/share/classes/java/util/regex/Pattern.java +++ b/src/java.base/share/classes/java/util/regex/Pattern.java @@ -4356,7 +4356,9 @@ - if (type == Qtype.GREEDY) + switch (type) { + case GREEDY: return match0(matcher, i, j, seq); - else if (type == Qtype.LAZY) + case LAZY: return match1(matcher, i, j, seq); - else + default: return match2(matcher, i, j, seq); + } @@ -4527,7 +4529,10 @@ - if (type == Qtype.GREEDY) { + switch (type) { + case GREEDY: ret = match0(matcher, i, cmin, seq); + break; - } else if (type == Qtype.LAZY) { + case LAZY: ret = match1(matcher, i, cmin, seq); + break; - } else { + default: ret = match2(matcher, i, cmin, seq); }