Hi,
I updated the webrev, incorporating Mandy's suggestions. Please review.
http://cr.openjdk.java.net/~naoto/8214170/webrev.02/
Naoto
On 11/28/18 5:56 AM, naoto.s...@oracle.com wrote:
Thank you, Mandy, for pointing out. I was wrong on JDK8 result. With a
modified test case, I got the following result for jdk8 and jdk12:
jdk8u:
slc06brs:/projects/jdk/jdk/jdk/open/test/jdk/java/util/ResourceBundle/Control
479 %
/projects/jdk/8/jdk8u-dev/build/linux-x86_64-normal-server-fastdebug/jdk/bin/java
MissingResourceCauseTest
Exception in thread "main" java.lang.RuntimeException:
getBundle("PrivateConstructorRB") throws
java.lang.InstantiationException: PrivateConstructorRB, expected class
java.lang.IllegalAccessException
at
MissingResourceCauseTest.callGetBundle(MissingResourceCauseTest.java:56)
at
MissingResourceCauseTest.callGetBundle(MissingResourceCauseTest.java:43)
at MissingResourceCauseTest.main(MissingResourceCauseTest.java:34)
jdk12:
slc06brs:/projects/jdk/jdk/newera/open/test/jdk/java/util/ResourceBundle/Control
488 % /projects/jdk/jdk/newera/build/linux-x64/jdk/bin/java
MissingResourceCauseTest
Exception in thread "main" java.lang.RuntimeException:
getBundle("PrivateConstructorRB") throws null, expected class
java.lang.IllegalAccessException
at
MissingResourceCauseTest.callGetBundle(MissingResourceCauseTest.java:55)
at
MissingResourceCauseTest.callGetBundle(MissingResourceCauseTest.java:42)
at MissingResourceCauseTest.main(MissingResourceCauseTest.java:34)
So, for missing no-arg constructor, jdk8 throws MissingResourceException
with InstantiationException as the cause, and jdk12 throws
MissingResourceException with the "null" cause.
Naoto
On 11/27/18 3:41 PM, naoto.s...@oracle.com wrote:
2. PrivateConstructorRB does not have any no-arg constructor (you
have to create a new test case for it)
I believe the behavior is not changed in JDK 9. It throws
NoSuchMethodException (not ignored).
In this case, the behavior is not changed. However, it does not throw
NoSuchMethodException from newBundle(), both in JDK8 and current. It
simply returns null, and the cause in the resulting
MissingResourceException is "null".
Naoto