On Tue, 26 Sep 2023 14:19:55 GMT, Technici4n <d...@openjdk.org> wrote:

> Fixes the issue (hopefully) by resolving automatic modules and automatic 
> module dependencies after propagation of non-automatic transitive 
> dependencies. The module tests run.
> 
> I also added a few asserts to validate that the automatic modules don't read 
> themselves (previously this was the case with > 1 automatic module). Should 
> these asserts be added in more places or is this enough?
> 
> Alan also mentioned a conflict with the spec, I'm not sure which spec is 
> being referred to. The documentation of `ResolvedModule#reads` states `A 
> possibly-empty unmodifiable set`, implying that the set can be empty.
> 
> Finally, `Configuration#reads` states `// The sets stored in the graph are 
> already immutable sets` but that does not seem to be true. Should something 
> be done about this to limit allocation?
> 
> Please let me know!
> Cheers

This issue is on my plate, I will have a PR for this soon. I attached the patch 
to JDK-8314986 that I was testing in August to skip propagating "requires" 
through the "requires transitive" edges of the dependence graph. There are 
several spec issues to work through, the conflict that I mentioned in the JBS 
issue is that every module is specified to read itself but that is problematic 
for ResolvedModule::reads to include itself.

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

PR Comment: https://git.openjdk.org/jdk/pull/15926#issuecomment-1735718603

Reply via email to