RFR [8037866] Replace the Fun class in tests with lambdas

Remi Forax forax at univ-mlv.fr
Mon Jun 2 10:46:00 UTC 2014

On 06/02/2014 06:36 AM, Martin Buchholz wrote:
> Thanks!  Looks good.
> There might be more common infrastructure to take advantage of later.
> @FunctionalInterface is not really in the spirit of my super-compact
> stylistically odd test code, but OK.

Another question is why not to use a functional interface with one 
parameter (Fun2?)
or keep Fun and introduce Fun2.
   //interface Fun {void f() throws Throwable;}
   interface Fun2<T> {void f(T value) throws Throwable;}
THROWS(BrokenBarrierException.class, barrier, x ->x.await(100, MILISECOND));
   THROWS(IllegalStateException.class, it, Iterator::remove);

with the nice advantage that most of the time the lambda will be constant
(a lambda that's not capture value from the outer context).


> On Sun, Jun 1, 2014 at 5:57 PM, Ivan Gerasimov <ivan.gerasimov at oracle.com>
> wrote:
>> Hello!
>> Would you please help review the fix, which replaces the auxiliary Fun
>> class with the same named functional interface?
>> The anonymous classes instantiations are replaced with lambdas.
>> BUGURL: https://bugs.openjdk.java.net/browse/JDK-8037866
>> WEBREV: http://cr.openjdk.java.net/~igerasim/8037866/0/webrev/
>> Sincerely yours,
>> Ivan

More information about the core-libs-dev mailing list