On Sun, 27 Apr 2025 17:29:32 GMT, Chen Liang <li...@openjdk.org> wrote:
>> src/java.base/share/classes/java/lang/reflect/AccessFlag.java line 722: >> >>> 720: } >>> 721: >>> 722: private static final class AccessFlagSet extends >>> AbstractSet<AccessFlag> { >> >> This should probably also define the spliterator method: >> >> @Override >> public Spliterator<AccessFlag> spliterator() { >> return Spliterators.spliterator( >> this, >> Spliterator.DISTINCT | Spliterator.ORDERED | >> Spliterator.SIZED >> | Spliterator.NONNULL | Spliterator.IMMUTABLE | >> Spliterator.SUBSIZED >> ); >> } > > Hmm, I intentionally avoided implementing spliterator because there are too > many opportunities to optimize - a fully optimized Spliterator implementaton > should split an int mask. Can we do that in another patch? I need to check if > MOAT tests spliterators too. Well, in this case, my suggestion isn’t about providing a fully optimised `Spliterator`, but about setting the correct characteristics. Otherwise, its definition is exactly the same as in `Set::spliterator()`: https://github.com/openjdk/jdk/blob/ead6757486fb58f35f6e93b691519673bca1a549/src/java.base/share/classes/java/util/Set.java#L439-L442 ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23095#discussion_r2067134110