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

Roger Riggs rriggs at openjdk.java.net
Fri Nov 19 20:47:40 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.

Roger Riggs has updated the pull request incrementally with one additional commit since the last revision:

  Added comment explaining why immutable Maps are not 'ValueBased'

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6480/files
  - new: https://git.openjdk.java.net/jdk/pull/6480/files/c1f579ea..42fce039

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=6480&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=6480&range=00-01

  Stats: 3 lines in 1 file changed: 3 ins; 0 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