File: Issue1398.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 (31 lines) | stat: -rw-r--r-- 797 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
// Test case for Issue 1398
// https://github.com/typetools/checker-framework/issues/1398

public class Issue1398 {

    interface Pair<A, B> {}

    interface Triple<A, B, C> {}

    interface Quadruple<A, B, C, D> {}

    interface Box<T> {
        <A, B> Pair<A, B> doTriple(Triple<? super T, A, B> t);

        <A, BA extends Box<A>> BA doPair(Pair<? super T, ? extends A> p, BoxMaker<A, BA> bm);
    }

    class BoxMaker<T, C extends Box<T>> {}

    abstract class Crash7 {
        abstract <T, O> Pair<T, O> bar(Pair<T, O> in);

        void foo(
                Box<String> bs,
                BoxMaker<Number, Box<Number>> bm,
                Pair<String, Number> psn,
                Triple<Number, Object, Number> t) {
            bs.doPair(bar(psn), bm).doTriple(t);
        }
    }
}