On Dec 5, 2013, at 9:29 PM, Doug Lea <d...@cs.oswego.edu> wrote:
> On 12/05/2013 03:18 PM, Brent Christian wrote:
>> I'm curious about why this was done:
>> 
>> *** 4452,4462 ****
>>           public final boolean removeAll(Collection<?> c) {
>> !             Objects.requireNonNull(c);
>>               boolean modified = false;
>> --- 4495,4505 ----
>>           public final boolean removeAll(Collection<?> c) {
>> !             if (c == null) throw new NullPointerException();
>>               boolean modified = false;
> 
> It wasn't actually done. In part as a way to keep base jsr166
> sources for CHM and most other existing classes as JDK7-compatible
> as possible, the jsr166 versions always use the explicit form.
> For this update, the Oracle-initiated changes that hadn't been in
> jsr166 versions don't appear.
> 

My preference is to keep CHM (and other classes) in 8 as close as possible to 
CHM in 166, otherwise it just makes it harder to apply fixes. So i deliberately 
took the 166 version of the null checks.

I tend to take sources from 166, copy them into the JDK overwriting the 
existing sources, and then carefully go through the diffs (via the IDE) 
selectively applying. We already have one annoying diff related to @Deprecated 
which is in 166 but not in CHM and that is extremely easy to overlook.

Paul.

Reply via email to