On Thu, 6 Mar 2025 06:13:22 GMT, Valerie Peng <valer...@openjdk.org> wrote:
>> Francisco Ferrari Bihurriet has updated the pull request incrementally with >> one additional commit since the last revision: >> >> Clear ServicesMap fields in the declared order >> >> Constructors assign the fields in the same order. > > src/java.base/share/classes/java/security/Provider.java line 1502: > >> 1500: return parseLegacy(servicesMap, ks, vs, opType); >> 1501: } else if (value != null && oldValue instanceof String >> oldValueS && >> 1502: opType == OPType.ADD) { > > Which method is this else-block for? `value` is not null and not instanceof > `String` and `oldValue` is instanceof `String` and `opType` is ADD? In this case we are adding an entry to the Provider (seen as a Properties map more than a Provider). The value of this new entry is not a string and is replacing an entry with the same key, whose value is mapped to a service in the internal (services) map. From the point of view of the internal map, this acts as a removal. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/22613#discussion_r2025825223