RFR: 8047795: Collections.checkedList checking bypassed by List.replaceAll
Mike Duigou
mike.duigou at oracle.com
Tue Jun 24 18:25:52 UTC 2014
On Jun 24 2014, at 01:18 , Paul Sandoz <paul.sandoz at oracle.com> wrote:
>> Additionally the javadoc is updated to inform users that a ClassCastException may result if the proposed replacement is unacceptable.
>>
>
> No users will see the JavaDoc on Collections.CheckedList since it is package private, plus i think it redundant. Any such associated documentation would need to be on the public static method, and i am not sure we really need to say anything more than what is already said:
>
> 3388 * Any attempt to insert an element of the wrong type will result in
> 3389 * an immediate {@link ClassCastException}. Assuming a list contains
Yes, it is redundant but might be informative if a user goes to the examine the source when encountering a CCE. I can remove it if that is really preferred.
>> Note that this changeset takes the strategy of failing when the illegal value is encountered. Replacements of earlier items in the list are retained.
>>
>> jbsbug: https://bugs.openjdk.java.net/browse/JDK-8047795
>> webrev: http://cr.openjdk.java.net/~mduigou/JDK-8047795/0/webrev/
>>
>
> Are there existing tests for the checked Map.replaceAll (for keys and values)?
Not specifically for illegal values returned by the operator. I can easily adapt the new test I added to specifically test for this case.
Updated webrev with additional Map test and Chris's suggestion is here: http://cr.openjdk.java.net/~mduigou/JDK-8047795/1/webrev/
Mike
More information about the core-libs-dev
mailing list