RFR: 8265137: java.util.Random suddenly has new public methods nowhere documented [v6]
uschindler at openjdk.java.net
Fri Apr 23 13:57:33 UTC 2021
On Wed, 21 Apr 2021 13:13:16 GMT, Jim Laskey <jlaskey at openjdk.org> wrote:
>> Move makeXXXSpilterator from public (@hidden) to protected. No API ch
> Jim Laskey has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains eight additional commits since the last revision:
> - Merge branch 'master' into 8265137
> - Remove @hidden
> - Correct the hierarchy of Random
> - Remove extraneous references to makeXXXSpliterator
> - Move makeXXXSpliterator methods to RandomSupport
> - change static final from 'proxy' to 'PROXY'
> - Make makeXXXSpliterator final
> - Move makeXXXSpilterator from public (@hidden) to protected. No API change.
the overall setup is mch better than before! This also makes the problem we have seen in https://github.com/policeman-tools/forbidden-apis/issues/177 go away, because Random/ThreadLocalRandom no longer extend a public, but internal/hidden class (forbiddenapis is a classfile analyzer that tries to prevent user's from extending internal JDK APIs in one of its checks). When looking into superclasses of Random, it detected a "bad superclass from an internal package".
So this alone makes me very happy with this.
In addition, it no longer changes APIs of Random/ThreadLocalRandom, only the new interface is added.
+1 to merge
Marked as reviewed by uschindler (Author).
More information about the core-libs-dev