blob: d646627a69db62c837eb326bba2dda43a929928f [file] [log] [blame]
package inference.guava;
import java.io.Serializable;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collector;
@SuppressWarnings("all") // Just check for crashes.
public class Bug7 {
static <T, K, V> Collector<T, ?, MyMap<K, V>> toMap(
Function<? super T, ? extends K> keyFunction,
Function<? super T, ? extends V> valueFunction) {
return Collector.of(
MyMap.Builder<K, V>::new,
(builder, input) -> builder.put(keyFunction.apply(input), valueFunction.apply(input)),
MyMap.Builder::combine,
MyMap.Builder::build);
}
public abstract static class MyMap<K, V> implements Map<K, V>, Serializable {
public static class Builder<K, V> {
public Builder() {}
public Builder<K, V> put(K key, V value) {
throw new RuntimeException();
}
Builder<K, V> combine(Builder<K, V> other) {
throw new RuntimeException();
}
public MyMap<K, V> build() {
throw new RuntimeException();
}
}
}
}