Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8273245

4.7.25: Fix misstatement about java.base for requires_flags

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 17
    • Fix Version/s: 18
    • Component/s: specification
    • Labels:
    • Subcomponent:
      vm

      Description

      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."

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              abuckley Alex Buckley
              Reporter:
              abuckley Alex Buckley
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: