On Thu, 16 May 2024 10:33:55 GMT, Jaikiran Pai <j...@openjdk.org> wrote:
>> Raffaello Giulietti has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Small documentation changes. > > src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java line > 204: > >> 202: new RandomGeneratorProperties(rgClass, name, group, >> 203: i, j, k, equidistribution, >> 204: flags | >> (rgClass.isAnnotationPresent(Deprecated.class) ? DEPRECATED : 0))); > > Hello Raffaello, this is the final remaining reflection usage and even this I > think isn't required now that all the random generator implementations reside > within java.base as an implementation detail. > > I think we should just skip this annotation check here and set `DEPRECATED` > bit on the `flags` to `0` for all implementations. When/if we do deprecate > any of the random generators, we can just come here and switch that bit to on > for the specific random generator when instantiating this > `RandomGeneratorProperties` record. I had a brief look at the code and the > documentation in `package-info.java` of `java/util/random` and we don't > mention that we rely on the `@Deprecated` annotation to determine whether an > algorithm is deprecated. I think that's a good thing. Yes, I thought about this the other day but decided for a bit more conservative approach, relying on the annotation. But I agree that, since the meta-information now resides in `RandomGeneratorProperties`, we might "migrate" the deprecation status here as well. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19212#discussion_r1603264183