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

4.7.25: Fix misstatement about java.base for requires_flags

    XMLWordPrintable

Details

    • Enhancement
    • Status: Resolved
    • P4
    • Resolution: Fixed
    • 17
    • 18
    • specification
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: