On Jun 3, 2014, at 1:48 PM, Joel Borggrén-Franck <[email protected]> wrote:
> Hi > > Can I get a review for this small fix for > https://bugs.openjdk.java.net/browse/JDK-8039916 > > Webrev here: http://cr.openjdk.java.net/~jfranck/8039916/webrev.01/ > > Since this is the second issue like this found recently I created a rather > large test to see if there are any more lurking issues. I found one more, > see: https://bugs.openjdk.java.net/browse/JDK-8044629 .I need to figure out > what the right behavior for the new issue, is so I need to delay that fix. > Looks good. You might consider the following a more streamy way, not tested! up to you :-) private static Object[][] provider() { Stream<? extends Executable> s = filterData(Test.class.getMethods(), null); s = Stream.concat(s, filterData(Test.class.getConstructors(), null)); s = Stream.concat(s, filterData(Test.class.getConstructors(), null)); return streamToArray(s); } private static Stream<? extends Executable> filterData(Executable[] es, Class<?> c) { return Stream.of(es).filter(m -> m.getDeclaringClass() == c); } private static Object[][] streamToArray(Stream<?> s) { return s.map(e -> Stream.of(e).toArray()).toArray(Object[][]::new); } Paul.
