RFR: 8257912: Convert enum iteration to use range-based for loops
Ioi Lam
iklam at openjdk.java.net
Wed Dec 9 01:40:41 UTC 2020
* For JDK 17*
Now that [range-based for loops](https://github.com/openjdk/jdk/pull/1488) are allowed by the [HotSpot Style Guide](https://github.com/openjdk/jdk/blob/52ab72127ddc3ca6575d9d58503ec39c5dff7ab1/doc/hotspot-style.md), I have converted the more verbose syntax:
for (vmIntrinsicsIterator it = vmIntrinsicsRange.begin(); it != vmIntrinsicsRange.end(); ++it) {
vmIntrinsicID index = *it;
nt[as_int(index)] = string;
}
to
for (vmIntrinsicID index : EnumRange<vmIntrinsicID>{}) {
nt[as_int(index)] = string;
}
I also removed the "convenient" declarations such as `vmIntrinsicsRange` and `vmIntrinsicsIterator` -- these are useful only when writing a traditional for loop, and are probably confusing to everyone else. I've left examples in enumIterator.hpp in case anyone wants to write a traditional for loop.
I also added gtest cases for using range-based for loops with `EnumRange<>`.
-------------
Commit messages:
- 8257912: Convert enum iteration to use range-based for loops
Changes: https://git.openjdk.java.net/jdk/pull/1707/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1707&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8257912
Stats: 119 lines in 10 files changed: 71 ins; 24 del; 24 mod
Patch: https://git.openjdk.java.net/jdk/pull/1707.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1707/head:pull/1707
PR: https://git.openjdk.java.net/jdk/pull/1707
More information about the hotspot-dev
mailing list