Question on Implied readability

Alan Bateman Alan.Bateman at
Tue Nov 3 11:53:23 UTC 2015

On 03/11/2015 02:27, Alex Buckley wrote:
> It's currently underspecified in Configuration::resolve as "A 
> readability graph is then constructed to take account of implicitly 
> declared dependences (requires public)."
Yes, the javadoc does indeed need more work.

> We'll have to think about the implication of com.baz in layer1 
> sometimes offering a 'requires public' on in layer1, and 
> sometimes offering a 'requires public' on in layer2, depending 
> on who is reading com.baz in layer1.
Yes, although for the configuration then the read edges are always to 
modules in same configuration or to modules in parent layers. So in 
Ali's example then the configuration for layer2 should have have 
reading both com.baz and in layer1. At runtime then 
might decide to also read at 2 but it's playing with fire at that 

In any case, the issue that Ali ran into turns out to be a small 
oversight in the implementation, easily fixed. There is however another 
case that will need yet more thought and that is where an 
indistinguishable is in both layers. If they are different 
(meaning not equal) then the implementation will be correct. This is 
somewhat of a corner case but will need to be handled too.


More information about the jigsaw-dev mailing list