On Tue, 1 Jul 2025 14:29:28 GMT, Alan Bateman <al...@openjdk.org> wrote:

>> David Beaumont has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Updates based on feedback.
>
> src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java line 
> 62:
> 
>> 60: import jdk.internal.module.ModuleHashes.HashSupplier;
>> 61: 
>> 62: import static java.util.Objects.requireNonNull;
> 
> The existing Objects.requireNonNull are okay, no need to change them all as 
> it is nothing to do with the changes.

Done.

> src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java line 
> 251:
> 
>> 249:     }
>> 250: 
>> 251:     private static Stream<ModuleInfo.Attributes> getModuleAttributes() {
> 
> Can you rename this to allModuleAttributes and add a method description to 
> match the other methods.

Done.

> src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java line 
> 257:
> 
>> 255:                 .getChildNames()
>> 256:                 .map(mn -> getNode(reader, mn + "/module-info.class"))
>> 257:                 // This fails with ISE if the node isn't a resource 
>> (corrupt JImage).
> 
> Can you drop this comment and check getNode to thrown an Error (ISE isn't 
> right when we have a broken image).

`getNode()` is called twice and while it can throw the error, there's no nice 
way for `getResourceBuffer()` to be that strict (it's a separate API).
After fiddling a bit I reworked the module attribute loading into a separate 
helper and caught & escalated any exceptions relating to that into `Error`.
The only question now is that `ModuleInfo.read()` has at least one other 
runtime exception (`InvalidModuleDescriptorException`) it can throw which we 
could catch here. Should I add that to the list?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26054#discussion_r2178463701
PR Review Comment: https://git.openjdk.org/jdk/pull/26054#discussion_r2178463291
PR Review Comment: https://git.openjdk.org/jdk/pull/26054#discussion_r2178462973

Reply via email to