On Tue, 15 Feb 2022 23:05:30 GMT, Mandy Chung <mch...@openjdk.org> wrote:

>> Tim Prinzing has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Changes from feedback.
>>   
>>   - Copyright dates fixed
>>   - IllegalCallerException thrown for no caller frame, and associated
>>   javadoc changes
>>   - test changed to look for IllegalCallerException thrown.
>
> src/java.base/share/classes/java/lang/ClassLoader.java line 1626:
> 
>> 1624:     protected static boolean registerAsParallelCapable() {
>> 1625:         final Class<?> caller = Reflection.getCallerClass();
>> 1626:         if (caller == null) {
> 
> Suggestion:
> 
>         if (caller == null || !ClassLoader.class.isAssignableFrom(caller)) {
>              throw new IllegalCallerException(caller + " not a subclass of 
> ClassLoader");
>         }     
> 
> 
> What we suggested is to throw IllegalCallerException if the caller is not a 
> class loader and that will include null caller case.

This also needs a test case for non-class loader caller.

I looked at the existing tests testing `registerAsParallelCapable` but I can't 
find a good one to add the new test case.   The closest one could be 
`test/jdk/java/lang/ClassLoader/IsParallelCapable.java`.   I'm okay to include 
a new test case in `IsParallelCapable.java` to verify `IllegalCallerException` 
if called by a non-class loader.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7448

Reply via email to