On Mon, 14 Feb 2022 20:52:28 GMT, Joe Darcy <da...@openjdk.org> wrote:
>> Thanks for catching the typo Adam; I'll fix it in the next push. > >> Looks promising, some comments: >> >> The terminology in the JVMS is about modifiers; can the class name include >> the word Modifier, perhaps ModifierFlag(s)? Several of the modifiers are not >> related to "access". >> >> The `getXXXFlags()` methods in Class, etc. should mention the Set is >> immutable/unmodifiable. The post-Beans API signature would be just "flags()" >> without the Get prefix. Consistency with the current methods may tend to >> keep the prefix. >> >> The Set manipulation functions are not very smooth (but true for all Sets). >> Checking for `anyOf` or `allOf` a set of modifiers has to be written out as >> a boolean expression. Though `allOf` could create an intermediate set. > > The JVMS uses "access flags" terminology: > > JVMS 4.7 Attributes "The value of the access_flags item is a mask of flags > used to denote access permissions to and properties of this class or > interface. " > > JVMS 4.5 Fields "The value of the access_flags item is a mask of flags used > to denote access permission to and properties of this field." > > JVMS 4.6 Methods "The value of the access_flags item is a mask of flags used > to denote access permission to and properties of this method." > > JVMS 4.7.6 The InnerClasses Attribute "The value of the > inner_class_access_flags item is a mask of flags used to denote access > permissions to and properties of class or interface C as declared in the > source code from which this class file was compiled." > > JVMS 4.7.24 The MethodParameters Attribute "The value of the access_flags > item is as follows: ..." > > This consistent usage was the motivation to rename the enum class to > "AccessFlags" compared to "ModifierFlag" as initially sketched in the bug. > > Agreed that the returned sets should be specified to be immutable. > > Some newer methods added to Class omit the "get" prefix while many older > methods include it. > > I linked the RFE of this issue to the RFE for an ImmutableEnumSet. Thanks for the updates and correction on terminology origin. Adding "@ Override" in the implementations of `Member.accessFlags()` might be in order. ------------- PR: https://git.openjdk.java.net/jdk/pull/7445