Compiling Java 9 (take 2)

Stephan Herrmann stephan.herrmann at
Sat Jan 14 11:29:40 UTC 2017

On 01/14/2017 02:38 AM, Alex Buckley wrote:
> On 1/13/2017 3:52 PM, Stephan Herrmann wrote:
>> Speaking of which, I'm confused by these sentences:
>> 7.2:
>> "The host system is free to decide that a compilation unit containing a
>> module declaration is not, in fact, associated with the module declared
>> therein."
> Should be "an observable compilation unit containing a ...". Per 7.3, once you've decided a compilation unit is observable, then if
> it contains a module declaration you're required to associate the c.u. with the declared module and not with (say) java.base. And if
> the c.u. is not observable then associated-with is moot.

How does this resolve the conflict that one sentence says
"is associated" and the other "is not, in fact, associated" ?

Was "observable" deliberately omitted in 7.2. in order to allow
the host system to decide that a cu is not observable and thus
not meaningfully associated with any module?

If that paragraph was intended only for (informal) clarification,
(as indicated by the indented layout?), then I suggest to remove
the sentence in question, since IMHO it achieves the opposite
of clarification.


> Alex
>> 7.3:
>> "A modular compilation unit consists of a module declaration, optionally
>> preceded by import declarations."
>> "An observable modular compilation unit is associated with the module
>> that it declares."
>> If "compilation unit containing a module declaration" and "modular
>> compilation unit"
>> is the same thing, then it is associated with the module declared
>> therein, and may
>> at the same time not be associated with it.
>> What am I missing?

More information about the jigsaw-dev mailing list