What does a qualified name mean for a module?
David M. Lloyd
david.lloyd at redhat.com
Tue Jun 6 17:35:18 UTC 2017
On 06/06/2017 12:14 PM, Stephan Herrmann wrote:
> On 06.06.2017 18:59, Alex Buckley wrote:
>> A module name has the same structure as a package name, so
>> ModuleElement has the same shape as PackageElement: each inherits
>> getSimpleName() from Element, and getQualifiedName() from
>> getQualifiedName() from QualifiedNameable.
>
> Syntactically you're right, but ...
>
> Normally, a qualified name denotes two things: a parent element and a
> child.
> The package name "java.lang" has a qualifier "java" which denotes a
> top-level package
> and "lang" can be used relative to that package to denote a member
> package etc.
>
> For a module - say "java.base" - the qualifier "java" denotes nothing.
> And hence, the simple name "base" cannot be resolved in any context.
>
> So the question is: should ModuleElement.getSimpleName() answer the
> totally useless last segment of the name, or should it answer the same
> as getQualifiedName()?
The answer to that question should apply to PackageElement too, for
identical reasons. However, PackageElement is established API already...
--
- DML
More information about the jigsaw-dev
mailing list