On 06.06.2017 11:03, Alan Bateman wrote:
On 06/06/2017 09:40, Stephan Herrmann wrote:
This was viewed from the JLS p.o.v. But "read by M" is still not well-defined.
All we see in the documentation of the referenced method is:
"a readability graph is computed"
With some further searching, we find "readability graph" explained in the
toplevel documentation of class Configuration.
But where in the specification (combination of JLS and API doc) should we
learn the connection between "read" and "requires"? As far as I can see
this fundamental connection is totally implicit.
I know what is meant, but for the final specification this is still needs
to be improved. The specification shouldn't expect the reader to already
know what is specified prior to reading :)
Additionally, this missing link in the specification hides the fact
that it is unspecified how "transitive" contributes to "reads",
which is more severe than the editorial aspect of it.
Resolution is specified in the java.lang.module package description (remember this package description was re-worked to address
#ResolutionAtCompileTime [1]). In the JSR's working draft specification, you can find it here:
http://cr.openjdk.java.net/~mr/jigsaw/spec/api/java/lang/module/package-summary.html
It's identical to the javadoc that is published with the Jigsaw EA builds.
-Alan.
[1] http://openjdk.java.net/projects/jigsaw/spec/issues/#ResolutionAtCompileTime
Thanks, found it.
For those who already know, the specification is probably sufficient.
For those you read JLS, the above definition is not in scope,
thus more specific references are still needed.
At the bottom line this is another instance of what I just wrote nearby:
JPMS lacks precise definition of its extent: what is part of the JPMS
and what isn't? I can't be required to read the entire Java SE Platform
API Specification.
Stephan