blob: ceeaa549f10d4a4219f617ec43a279850c544fee [file] [log] [blame]
class Test<A,B> {
public static <P,Q> Test<P,Q> left(P p) { return null; }
public static <P,Q> Test<P,Q> right(Q q) { return null; }
public <C> C either(Function<A, C> leftFn, Function<B, C> rightFn){ return null; }
public Test<B,A> swap() {
return either(Test::<B,A>right, Test::<B,A>left);
}
}
interface Function<T, R> {
R fun(T t);
}