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

Reply via email to