[jsr294-modularity-eg] Exported packages and wildcard expansion

Glyn Normington glyn_normington at uk.ibm.com
Mon Apr 23 09:59:04 EDT 2007


The current strawman allows a package to be exported by specifying a * 
wildcard such as example.foo.myapp.*. The wildcard is expanded by javac.

This places some constraints on separate compilation. The superpackage 
must be compiled at a point in time when all the classes belonging to the 
package are (a) known and (b) available to javac.

So some scenarios must be handled carefully. Suppose two developers are 
collaborating to produce a superpackage and both are contributing classes 
to an exported package. It is not sufficient for them to share the 
superpackage source file and any shared code. They must also share the 
full set of contributed classes so that javac can perform the correct 
expansion.

Clearly runtime errors will be necessary if the list of members of the 
exported package does not match the wildcard expansion.

So I'd like to check that wildcard expansion is strictly necessary since 
class files of classes belonging to a superpackage contain the name of the 
superpackage.

Glyn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/attachments/20070423/6b7ed6fa/attachment.html 


More information about the jsr294-modularity-eg mailing list