As an academic note, note that non-overflowing strings can be recognized
with a regex :-)
For signed numbers in base 10:
# MAX_VALUE in base 10: 2147483647
((-)?0*((\p{Digit}){1,9})
|([0-1]\p{Digit}{9})
|(20\p{Digit}{8})
|(21[0-3]\p{Digit}{7})
|(214[0-6]\p{Digit}{6})
|(2147[0-3]\p{Digit}{5})
Looks fine. Thanks, Ivan.
-Brent
On 5/29/19 7:27 AM, Roger Riggs wrote:
Thanks Ivan, Looks good.
On 05/28/2019 10:08 PM, Ivan Gerasimov wrote:
Hi Brent!
On 5/28/19 4:06 PM, Brent Christian wrote:
Hi, Ivan
I agree with Roger that there are more test cases than necessary.
Otherwise I
Thanks Ivan, Looks good.
On 05/28/2019 10:08 PM, Ivan Gerasimov wrote:
Hi Brent!
On 5/28/19 4:06 PM, Brent Christian wrote:
Hi, Ivan
I agree with Roger that there are more test cases than necessary.
Otherwise I think it looks pretty good.
Okay. Then let's make the list of invalid
Hi Brent!
On 5/28/19 4:06 PM, Brent Christian wrote:
Hi, Ivan
I agree with Roger that there are more test cases than necessary.
Otherwise I think it looks pretty good.
Okay. Then let's make the list of invalid ranges shorter, but add a
randomly generated value!
Please find the updated
Hi, Ivan
I agree with Roger that there are more test cases than necessary.
Otherwise I think it looks pretty good.
I find the addExact/multiplyExact code less readable. I'm not sure what
could be done about it - maybe some different indentation:
cmin = Math.addExact(
Thank you Roger for reviewing!
On 5/28/19 9:33 AM, Roger Riggs wrote:
Hi Ivan,
test/jdk/java/util/regex/RegExTest.java:
4954: The test should print the failing exception information and
4951: a message if the Pattern.compile does not fail to distinguish
that failure from any others.
Yes,
Hi Ivan,
test/jdk/java/util/regex/RegExTest.java:
4954: The test should print the failing exception information and
4951: a message if the Pattern.compile does not fail to distinguish that
failure from any others.
I don't think there is a need for so many cases of values > 2^31; there
is no
Hello!
When Pattern.compile() parses the repetition count in the expressions
like '.{100}', '.{1,2}' or '.{3,}' it fails to detect numeric overflow
if the result is still non-negative.
Could you please help review the patch?
BUGURL: https://bugs.openjdk.java.net/browse/JDK-8224789
WEBREV: