summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/newMethodRef/AfterDistinctOps.java
blob: c2ee24b70d41759b13d497af9faf0782390eb472 (plain)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86




class BBB {

    static <T> void f() {
        TerminalOp<T, LinkedHashSet<T>> <warning descr="Variable 'reduceOp' is never used">reduceOp</warning> = BBB.<T, LinkedHashSet<T>>makeRef(LinkedHashSet::new, LinkedHashSet::add, LinkedHashSet::addAll);
    }

    public static <T, U> TerminalOp<T, U> makeRef(U <warning descr="Parameter 'seed' is never used">seed</warning>, BiFunction<U, ? super T, U> <warning descr="Parameter 'reducer' is never used">reducer</warning>, BinaryOperator<U> <warning descr="Parameter 'combiner' is never used">combiner</warning>) {
        return null;
    }
    public static <T, R> TerminalOp<T, R> makeRef(Supplier<R> <warning descr="Parameter 'seedFactory' is never used">seedFactory</warning>, BiConsumer<R, ? super T> <warning descr="Parameter 'accumulator' is never used">accumulator</warning>, BiConsumer<R,R> <warning descr="Parameter 'reducer' is never used">reducer</warning>) {
        return null;
    }

    public static void main(String[] args) {
        f();
    }
}
interface Supplier<T> {

    T get();
}
interface BiFunction<T, U, R> {
    R apply(T t, U u);
}

interface BinaryOperator<T> extends BiFunction<T,T,T> {}
interface BiConsumer<T, U> {
    void accept(T t, U u);
}
interface TerminalOp<<warning descr="Type parameter 'E_IN' is never used">E_IN</warning>, <warning descr="Type parameter 'R' is never used">R</warning>> {}
class LinkedHashSet<E> extends HashSet<E>{
    public LinkedHashSet(int <warning descr="Parameter 'initialCapacity' is never used">initialCapacity</warning>, float <warning descr="Parameter 'loadFactor' is never used">loadFactor</warning>) {
    }


    public LinkedHashSet(int <warning descr="Parameter 'initialCapacity' is never used">initialCapacity</warning>) {
    }

    public LinkedHashSet() {
    }


}

class HashSet<E> extends AbstractSet<E> {
    public HashSet() {
    }

    public HashSet(int <warning descr="Parameter 'initialCapacity' is never used">initialCapacity</warning>, float <warning descr="Parameter 'loadFactor' is never used">loadFactor</warning>) {
    }

    public HashSet(int <warning descr="Parameter 'initialCapacity' is never used">initialCapacity</warning>) {
    }
    HashSet(int <warning descr="Parameter 'initialCapacity' is never used">initialCapacity</warning>, float <warning descr="Parameter 'loadFactor' is never used">loadFactor</warning>, boolean <warning descr="Parameter 'dummy' is never used">dummy</warning>) {
    }

    public boolean add(E e) {
        return true;
    }

}

abstract class AbstractSet<E> extends AbstractCollection<E> {
    /**
     * Sole constructor.  (For invocation by subclass constructors, typically
     * implicit.)
     */
    protected AbstractSet() {
    }
}

abstract class AbstractCollection<E> implements Collection<E> {
    public boolean add(E e) {
        return true;
    }
    public boolean addAll(Collection<? extends E> <warning descr="Parameter 'c' is never used">c</warning>) {
        boolean modified = false;
        return modified;
    }
}

interface Collection<<warning descr="Type parameter 'E' is never used">E</warning>> {}