OLD | NEW |
1 dart_library.library('covariance', null, /* Imports */[ | 1 dart_library.library('covariance', null, /* Imports */[ |
2 'dart_sdk' | 2 'dart_sdk' |
3 ], function(exports, dart_sdk) { | 3 ], function(exports, dart_sdk) { |
4 'use strict'; | 4 'use strict'; |
5 const core = dart_sdk.core; | 5 const core = dart_sdk.core; |
6 const dart = dart_sdk.dart; | 6 const dart = dart_sdk.dart; |
7 const dartx = dart_sdk.dartx; | 7 const dartx = dart_sdk.dartx; |
8 const covariance = Object.create(null); | 8 const covariance = Object.create(null); |
9 const _t = Symbol('_t'); | 9 const _t = Symbol('_t'); |
10 covariance.Foo$ = dart.generic(T => { | 10 covariance.Foo$ = dart.generic(T => { |
11 class Foo extends core.Object { | 11 class Foo extends core.Object { |
12 Foo() { | 12 Foo() { |
13 this[_t] = null; | 13 this[_t] = null; |
14 } | 14 } |
15 add(t) { | 15 add(t) { |
16 dart.as(t, T); | 16 dart.as(t, T); |
17 this[_t] = t; | 17 this[_t] = t; |
18 } | 18 } |
19 forEach(fn) { | 19 forEach(fn) { |
20 dart.as(fn, dart.functionType(dart.void, [T])); | |
21 fn(this[_t]); | 20 fn(this[_t]); |
22 } | 21 } |
23 } | 22 } |
24 dart.setSignature(Foo, { | 23 dart.setSignature(Foo, { |
25 methods: () => ({ | 24 methods: () => ({ |
26 add: [dart.dynamic, [T]], | 25 add: [dart.dynamic, [T]], |
27 forEach: [dart.dynamic, [dart.functionType(dart.void, [T])]] | 26 forEach: [dart.dynamic, [dart.functionType(dart.void, [T])]] |
28 }) | 27 }) |
29 }); | 28 }); |
30 return Foo; | 29 return Foo; |
(...skipping 12 matching lines...) Expand all Loading... |
43 methods: () => ({add: [dart.dynamic, [core.int]]}) | 42 methods: () => ({add: [dart.dynamic, [core.int]]}) |
44 }); | 43 }); |
45 covariance.main = function() { | 44 covariance.main = function() { |
46 let foo = new covariance.Bar(); | 45 let foo = new covariance.Bar(); |
47 foo.add('hi'); | 46 foo.add('hi'); |
48 }; | 47 }; |
49 dart.fn(covariance.main); | 48 dart.fn(covariance.main); |
50 // Exports: | 49 // Exports: |
51 exports.covariance = covariance; | 50 exports.covariance = covariance; |
52 }); | 51 }); |
OLD | NEW |