Hi Stuart, Looking over http://cr.openjdk.java.net/~smarks/reviews/8060192/webrev.2/src/java.base/share/classes/java/util/ArrayList.java.cdiff.html, I'm wondering if the method `ArrayList.toArray(IntFunction)` should have an `@Override` to make it clear that it's overriding the default method in Collection. What do you think?
Cheers, Jonathan On 7 December 2017 at 22:58, Stuart Marks <stuart.ma...@oracle.com> wrote: > [Martin: please review changes to the JSR 166 TCK.] > > Another updated webrev for this changeset: > > http://cr.openjdk.java.net/~smarks/reviews/8060192/webrev.2/ > > This includes an override of toArray(IntFunction) in the implementation of > Arrays.asList(), as requested by Tagir Valeev. > > Overrides are also added for various wrapper classes in j.u.Collections. > Turns out there's a test test/jdk/java/util/Collections/Wrappers.java > that checks to ensure that the wrappers don't inherit any default methods. > (This has been a source of bugs in the past.) > > Significantly, this webrev also includes changes to several tests in the > JSR 166 TCK. The issue is that these tests have cases for null handling, > where they call > > coll.toArray(null) > > to ensure that NPE is thrown. Given that this method is now overloaded: > > toArray(T[]) > toArray(IntFunction) > > passing null is now ambiguous and thus generates a compiler error. I've > modified the tests to call toArray((Object[])null) which is a bit of a > stopgap. I can't think of anything obviously better to do, though. > > s'marks >