ModuleLayer#layers() and Configuration#configurations() produces non-topological ordering
Luke Hutchison
luke.hutch at gmail.com
Thu Jul 19 01:13:36 UTC 2018
Hi Alan, I was just wondering if you could please comment on this issue I
raised:
On Mon, Jun 25, 2018 at 6:00 PM Luke Hutchison <luke.hutch at gmail.com> wrote:
> I'm assuming that since more than one module may define classes in the
> same package, it is possible to have the same class defined multiple times
> in different layers. Therefore, if the intent of specifying that DFS should
> be used for module resolution is that class definitions in shallower layers
> should mask definitions of the same class in deeper layers, then
> topological ordering does in fact matter -- because otherwise, as shown in
> the example I gave, it is possible for deeper layers to be reached before
> shallower layers.
>
My specific questions are:
(1) Is it indeed possible for a class to be defined multiple times
(potentially differently) in different module layers, using the same
fully-qualified class name; and
(2) If this is possible, are the intended semantics in this case for the
class definition in descendant (child) layers to mask the class definition
in ancestral (parent) layers -- similarly to how a class definition found
earlier in the traditional classpath will mask other definitions of the
same class later in the classpath?
More information about the jigsaw-dev
mailing list