8191867: Module attribute in 54.0+ class file cannot contains a requires java.base with ACC_TRANSITIVE or ACC_STATIC_PHASE

Paul Sandoz paul.sandoz at oracle.com
Wed Dec 6 17:00:12 UTC 2017



> On 6 Dec 2017, at 07:42, Alan Bateman <Alan.Bateman at oracle.com> wrote:
> 
> The draft JVMS for Java SE 10 forbids an entry in the requires table of a Module attribute in a 54.0 or newer class file to require java.base with the ACC_TRANSITIVE or ACC_STATIC_PHASE modifiers. This needs an update to the module-info.class parser:
>    http://cr.openjdk.java.net/~alanb/8191867/webrev/
> 

66 private int JAVA_MIN_SUPPORTED_VERSION = 53;
67 private int JAVA_MAX_SUPPORTED_VERSION = 54;

Make 'em final:


 403                         + "java.base includes ACC_TRANSITIVIE or ACC_STATIC_PHASE”);

s/ACC_TRANSITIVIE/ACC_TRANSITIVE

Paul.

> For now, the ModuleDescriptor.Builder API is not updated but arguably it should so that it retains its alignment with what is allowed and not allowed in the Java Language.
> 
> -Alan
> 
> 



More information about the jigsaw-dev mailing list