File: Bug14.java

package info (click to toggle)
checker-framework-java 3.2.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 22,840 kB
  • sloc: java: 145,910; xml: 839; sh: 518; makefile: 401; perl: 26
file content (49 lines) | stat: -rw-r--r-- 1,481 bytes parent folder | download | duplicates (3)
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 {}
}