RFR: 8272042: java.util.ImmutableCollections$Map1 and MapN should not be @ValueBased

Mandy Chung mchung at openjdk.java.net
Fri Nov 19 18:04:07 UTC 2021


On Fri, 19 Nov 2021 15:50:47 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

> The `jdk.internal.ValueBased` annotation was incorrectly applied to subclasses of java.util.AbstractMap.
> [ValueBased](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/doc-files/ValueBased.html) requires that supertypes have no instance fields; AbstractMap has instance fields keySet and values.
> 
> Remove the internal @ValueBased annotation for subclasses of AbstractMap including:
> AbstractImmutableMap, Map1, and MapN.

It may be helpful to add a comment why these classes are not value-based classes.

-------------

Marked as reviewed by mchung (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/6480


More information about the core-libs-dev mailing list