- 
    Enhancement 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    25
- 
    None
                    Some AccessFlag parsing methods throw IAE because a flag mask is not valid in a location. However, there is no easy way to check what flag mask bits or what flags are valid for a location. We need such APIs to check, specific to each class file format version.
API would look like:
int flagsMask(CFFV); int flagsMask();
Set<AF> flags(CFFV); Set<AF> flags();
Also in the investigation, it's noted that ACC_SYNTHETIC is incorrectly represented - it is available since release 5.0 instead of release 7. This bug is fixed together for implementation simplicity.
API would look like:
int flagsMask(CFFV); int flagsMask();
Set<AF> flags(CFFV); Set<AF> flags();
Also in the investigation, it's noted that ACC_SYNTHETIC is incorrectly represented - it is available since release 5.0 instead of release 7. This bug is fixed together for implementation simplicity.
- csr for
- 
                    JDK-8347626 Provide valid flags and mask in AccessFlag.Location -           
- Closed
 
-         
- relates to
- 
                    JDK-8266670 Better modeling of access flags in core reflection -           
- Resolved
 
-         
- 
                    JDK-8297271 AccessFlag.maskToAccessFlags should be specific to class file version -           
- Resolved
 
-         
- links to
- 
                     Commit(master)
        openjdk/jdk/dcffd9d9 Commit(master)
        openjdk/jdk/dcffd9d9
- 
                     Review(master)
        openjdk/jdk/23095 Review(master)
        openjdk/jdk/23095