On Fri, 23 Jun 2023 10:41:49 GMT, Pavel Rappo <[email protected]> wrote:
>> Sergey Tsypanov has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Restore logic
>
> src/java.base/share/classes/java/util/ResourceBundle.java line 743:
>
>> 741: return ((module != null) &&
>> (module.equals(otherEntry.getModule())) &&
>> 742: (caller != null) &&
>> (caller.equals(otherEntry.getCallerModule())));
>> 743: } catch (NullPointerException | ClassCastException e) {
>
> Are we sure that NPE can only be thrown when calling equals on `name` or
> `locale` and not, for example, from `getModule()` or `getCallerModule()`?
Yes:
CacheKey(String baseName, Locale locale, Module module, Module caller) {
Objects.requireNonNull(module);
Objects.requireNonNull(caller);
this.name = baseName;
this.locale = locale;
this.moduleRef = new KeyElementReference<>(module, referenceQueue, this);
this.callerRef = new KeyElementReference<>(caller, referenceQueue, this);
this.modulesHash = module.hashCode() ^ caller.hashCode();
}
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/12328#discussion_r1239839973