1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
import java.io.Serializable;
import java.util.AbstractCollection;
import java.util.Iterator;
import java.util.List;
import java.util.RandomAccess;
import java.util.stream.Collector;
@SuppressWarnings({"unchecked", ""})
public class Bug14 {
private static final Collector<Object, ?, ImmutableList<Object>> TO_IMMUTABLE_LIST =
Collector.of(
ImmutableList::<Object>builder,
ImmutableList.Builder::add,
ImmutableList.Builder::combine,
ImmutableList.Builder::build);
public abstract static class ImmutableList<E> extends ImmutableCollection<E>
implements List<E>, RandomAccess {
public static final class Builder<E> {
public Builder<E> add(E element) {
return this;
}
public Builder<E> add(E... elements) {
return this;
}
public Builder<E> addAll(Iterator<? extends E> elements) {
return this;
}
public ImmutableList<E> build() {
throw new RuntimeException();
}
Builder<E> combine(Builder<E> builder) {
return this;
}
}
public static <E> Builder<E> builder() {
return new Builder<E>();
}
}
public abstract static class ImmutableCollection<E> extends AbstractCollection<E>
implements Serializable {}
}
|