-
Enhancement
-
Resolution: Fixed
-
P4
-
17
Module.requires[].requires_flags says:
"If the ***current module is not java.base***, and the class file version number is 54.0 or above, then neither ACC_TRANSITIVE nor ACC_STATIC_PHASE may be set in requires_flags."
The first clause is a typo. It should have been:
"If the ***requires_index item indicates java.base***, and the class file version number is 54.0 or above, then neither ACC_TRANSITIVE nor ACC_STATIC_PHASE may be set in requires_flags."
However, a better fix is to delete this sentence entirely, and fold its rule into the later sentence which deals with the java.base dependence:
"Unless the current module is java.base, exactly one entry in the requires table must have (i) a requires_index item which indicates java.base, (ii) a requires_flags item which has the ACC_SYNTHETIC flag not set (the ACC_MANDATED flag may be set), and (iii) if the class file version number is 54.0 or above, a requires_flags item which has both the ACC_TRANSITIVE and ACC_STATIC_PHASE flags not set."
"If the ***current module is not java.base***, and the class file version number is 54.0 or above, then neither ACC_TRANSITIVE nor ACC_STATIC_PHASE may be set in requires_flags."
The first clause is a typo. It should have been:
"If the ***requires_index item indicates java.base***, and the class file version number is 54.0 or above, then neither ACC_TRANSITIVE nor ACC_STATIC_PHASE may be set in requires_flags."
However, a better fix is to delete this sentence entirely, and fold its rule into the later sentence which deals with the java.base dependence:
"Unless the current module is java.base, exactly one entry in the requires table must have (i) a requires_index item which indicates java.base, (ii) a requires_flags item which has the ACC_SYNTHETIC flag not set (the ACC_MANDATED flag may be set), and (iii) if the class file version number is 54.0 or above, a requires_flags item which has both the ACC_TRANSITIVE and ACC_STATIC_PHASE flags not set."
- relates to
-
JDK-8182734 7.7.1: Forbid modifiers on explicit java.base dependence
-
- Closed
-