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

Roger Riggs rriggs at openjdk.java.net
Fri Nov 19 17:54:11 UTC 2021


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.

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

Commit messages:
 - 8272042: java.util.ImmutableCollections$Map1 and MapN should not be @ValueBased

Changes: https://git.openjdk.java.net/jdk/pull/6480/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6480&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8272042
  Stats: 3 lines in 1 file changed: 0 ins; 3 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6480.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6480/head:pull/6480

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


More information about the core-libs-dev mailing list