On 5/23/2017 1:04 PM, Stephan Herrmann wrote:
The 2017-05-18 update of JLS 6.5.3.2 introduces the concept of
unique visibility, but still has this unchanged sentence:

"The package name Q.Id names a package that is the member named Id
   within the package named by Q."

If "the" in "the member named Id" is to be taken literally, then
the specification still doesn't work, as I may elaborate if needed.
But I assume, dropping "the" in favor of "a" or a similar change
easily fixes this to reflect the intention, right?

The full text is:

-----
If a package name is of the form Q.Id, then Q must also be a package name. The package name Q.Id names a package that is the member named Id within the package named by Q.

[DELETED]If Q does not name an observable package (§7.4.3), or Id is not the simple name of an observable subpackage of that package, then a compile-time error occurs.[/DELETED]

[ADDED]If Q.Id does not name a package that is uniquely visible to the current module (§7.4.3), then a compile-time error occurs.[/ADDED]
-----

The editorial style of this section has historically been rather odd, because the first paragraph makes assertions that are true only if the second paragraph's compile-time error doesn't occur. I have continued with that style in JLS9: the first paragraph can say "_the_ member named Id" because the second paragraph assures a unique Q.Id.

Alex

Reply via email to