RFR: 8290041: ModuleDescriptor.hashCode is inconsistent
Peter Levart
plevart at openjdk.org
Sun Aug 7 08:04:07 UTC 2022
On Sat, 6 Aug 2022 08:08:43 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
> Can I please get a review of this change which proposes to fix https://bugs.openjdk.org/browse/JDK-8290041?
>
> As noted by the reporter, the current implementation is buggy since the calculation can result in a different value of the hashcode depending on the order of iteration of the `Modifier`s. The commit in this PR changes that computation to produce consistent result irrespective of the order in which the `Modifier`s (enum) is iterated upon.
>
> A new test has been added which reproduces the issue and verifies the fix.
Hi,
Sorry for joining late. I noticed that modsHashCode is a private method and it takes Iterable<? extends Enum<?>> as a parameter. But everywhere it is called, a Set<? extends Enum<?>> is passed to it. So why not just calling the set.hashCode() and be done with it? It may be even more optimal in some cases.
-------------
PR: https://git.openjdk.org/jdk/pull/9790
More information about the core-libs-dev
mailing list