OLD | NEW |
| (Empty) |
1 library; | |
2 import self as self; | |
3 import "dart:core" as core; | |
4 | |
5 class C<T extends core::Object, S extends core::Object> extends core::Object { | |
6 constructor internal() → void | |
7 : super core::Object::•() | |
8 ; | |
9 method foo(self::C::S s) → dynamic { | |
10 final Vector #context = MakeVector(2); | |
11 #context[1] = this; | |
12 return MakeClosure<(dynamic) → dynamic>(self::closure#C#foo#function, #conte
xt); | |
13 } | |
14 method bar() → dynamic { | |
15 self::C<self::C::T, self::C::S> self = this; | |
16 } | |
17 method baz() → dynamic { | |
18 return MakeClosure<() → dynamic>(self::closure#C#baz#function, null); | |
19 } | |
20 static factory •<T extends core::Object, S extends core::Object>() → self::C<s
elf::C::•::T, self::C::•::S> { | |
21 final () → dynamic local = MakeClosure<() → dynamic>(self::closure#C#functio
n#local, null); | |
22 return local.call(); | |
23 } | |
24 } | |
25 static method main(dynamic arguments) → dynamic { | |
26 core::print(self::C::•<core::String, core::String>().foo(null).call(arguments.
first)); | |
27 dynamic c = self::C::•<core::int, core::int>().baz().call().call(); | |
28 if(!(c is self::C<core::int, core::int>)) | |
29 throw "${c} fails type test 'is C<int, int>'"; | |
30 if(c is self::C<core::String, core::String>) { | |
31 throw "${c{self::C<core::String, core::String>}} passes type test 'is C<Stri
ng, String>'"; | |
32 } | |
33 core::print(c); | |
34 } | |
35 static method closure#C#foo#function(Vector #contextParameter, dynamic x) → dyna
mic { | |
36 dynamic y = x; | |
37 core::Object z = y; | |
38 self::C<dynamic, dynamic> self = #contextParameter[1]; | |
39 return z as dynamic; | |
40 } | |
41 static method closure#C#baz#function#function(Vector #contextParameter) → dynami
c { | |
42 return self::C::•<dynamic, dynamic>(); | |
43 } | |
44 static method closure#C#baz#function(Vector #contextParameter) → dynamic { | |
45 return MakeClosure<() → dynamic>(self::closure#C#baz#function#function, #conte
xtParameter); | |
46 } | |
47 static method closure#C#function#local(Vector #contextParameter) → dynamic { | |
48 self::C<dynamic, dynamic> self = new self::C::internal<dynamic, dynamic>(); | |
49 return self; | |
50 } | |
OLD | NEW |