-
Notifications
You must be signed in to change notification settings - Fork 36
/
IndirectTypeParam.src
86 lines (67 loc) · 3.37 KB
/
IndirectTypeParam.src
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
package com.redhat.ceylon.compiler.java.test.expression.invoke;
final class indirectTypeParam_topLevel {
private indirectTypeParam_topLevel() {
}
static <T>T indirectTypeParam_topLevel(final T t) {
return t;
}
}
final class indirectTypeParam {
private indirectTypeParam() {
}
static void indirectTypeParam() {
final .ceylon.language.Callable<? extends .ceylon.language.Integer> f1 = new .com.redhat.ceylon.compiler.java.language.AbstractCallable<.ceylon.language.Integer>("ceylon.language.Callable<ceylon.language.Integer,ceylon.language.Integer>"){
@.java.lang.Override
public .ceylon.language.Integer $call(final .java.lang.Object $param$0) {
return .com.redhat.ceylon.compiler.java.test.expression.invoke.indirectTypeParam_topLevel.<.ceylon.language.Integer>indirectTypeParam_topLevel((.ceylon.language.Integer)$param$0);
}
};
long i = f1.$call(.ceylon.language.Integer.instance(1L)).longValue();
final class local {
private local() {
}
<T>T local(final T t) {
return t;
}
}
final local local = new local();
final .ceylon.language.Callable<? extends .ceylon.language.Integer> f2 = new .com.redhat.ceylon.compiler.java.language.AbstractCallable<.ceylon.language.Integer>("ceylon.language.Callable<ceylon.language.Integer,ceylon.language.Integer>"){
@.java.lang.Override
public .ceylon.language.Integer $call(final .java.lang.Object $param$0) {
return local.<.ceylon.language.Integer>local((.ceylon.language.Integer)$param$0);
}
};
i = f2.$call(.ceylon.language.Integer.instance(1L)).longValue();
final class mpl {
private mpl() {
}
<T>.ceylon.language.Callable<? extends .java.lang.Object> mpl(final T t) {
return new .com.redhat.ceylon.compiler.java.language.AbstractCallable<.java.lang.Object>("ceylon.language.Callable<ceylon.language.Void>"){
@.java.lang.Override
public .java.lang.Object $call() {
throw new .ceylon.language.Exception(null, null);
}
};
}
}
final mpl mpl = new mpl();
final class f3 {
private f3() {
}
.ceylon.language.Callable<? extends .java.lang.Object> f3(final .ceylon.language.Integer i) {
return new .com.redhat.ceylon.compiler.java.language.AbstractCallable<.java.lang.Object>("ceylon.language.Callable<ceylon.language.Void>"){
@.java.lang.Override
public .java.lang.Object $call() {
return mpl.<.ceylon.language.Integer>mpl(i);
}
};
}
}
final f3 f3 = new f3();
f3.f3(.ceylon.language.Integer.instance(1L)).$call();
}
public static void main(.java.lang.String[] args) {
.ceylon.language.process.getProcess().setupArguments(args);
.com.redhat.ceylon.compiler.java.test.expression.invoke.indirectTypeParam.indirectTypeParam();
}
}