Concealed packages (was Re: Module API usage questions)

Chris Hegarty chris.hegarty at oracle.com
Wed Jul 20 19:47:10 UTC 2016


> On 20 Jul 2016, at 20:13, Paul Benedict <pbenedict at apache.org> wrote:
> 
> Yes, that's my concern, but it's really only secondary to something else. I
> am more concerned that specifying both seems redundant. The JVM should be
> able to infer at resolution time that what's not exported is concealed.
> There may be a grander design at play which I yet to understand, but I
> don't see how specifying what's concealed adds more information to the mix
> than you already have.

Concealed Packages are just a performance optimization, nothing more.

If the ConcealedPackages attribute is present then it should contain
all the non-exported packages of the module. The ConcealedPackages
attribute, if present, can be used by a class loader implementation to
quickly determine, along with the exports, what packages are contained
within a module. If the ConcealedPackages attribute is not present then
the module artifact will have to be scanned to determine the set of
packages it contains.

-Chris.


More information about the jigsaw-dev mailing list