blob: a2e37406111934a74730e091bd4c87daaadfb89f [file] [log] [blame]
class M<X, Y> {
interface Map<X,Y> {
Y get(X x);
}
Map<X, Y> m;
Y <flown11111>y;
public M(Map<X, Y> m, Y <flown1111111>y) {
this.m = m;
this.y = <flown111111>y;
}
public static <MX, MY> M<MX, MY> makeM(MY <flown111111111>y) {
return new M<MX, MY>(null, <flown11111111>y);
}
Y get(X x) {
Y res = <flown11121>m.get(x);
return <flown111>res == null ? <flown1111>y : <flown1112>res;
}
public static void g() {
String <caret>a = <flown1>f(M.<String, String>makeM(<flown1111111111>"a"), "k");
}
public static <A> A f(M<A, A> a, A ka) {
return <flown11>a.get(ka);
}
}