RFR: 8047795: Collections.checkedList checking bypassed by List.replaceAll (original) (raw)
Mike Duigou mike.duigou at oracle.com
Tue Jun 24 18:06:03 UTC 2014
- Previous message: RFR: 8047795: Collections.checkedList checking bypassed by List.replaceAll
- Next message: A question about Depth of container annotations
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Jun 24 2014, at 01:46 , Chris Hegarty <chris.hegarty at oracle.com> wrote:
Looks good to me Mike.
I agree with Paul’s comment that the javadoc change will never be seen in the public docs, but I still think it is a reasonable addition for future maintainers. Trivially, you should probably add @SuppressWarnings("unchecked”) to typeCheck(Object).
Done.
-Chris. On 24 Jun 2014, at 01:42, Mike Duigou <mike.duigou at oracle.com> wrote:
Hello all;
This changeset corrects a reported problem with the lists returned by Collections.checkedList(). Since Java 8 the replaceAll() method on checked lists has erroneously allowed the operator providing replacements to provide illegal replacement values which are then stored, unchecked into the wrapped list. This changeset adds a check on the proposed replacement value and throws a ClassCastException if the replacement value is incompatible with the list. Additionally the javadoc is updated to inform users that a ClassCastException may result if the proposed replacement is unacceptable. 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/ This change will be backported to Java 8. Mike
- Previous message: RFR: 8047795: Collections.checkedList checking bypassed by List.replaceAll
- Next message: A question about Depth of container annotations
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]